Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE NADADOR(
- ID_NADADOR VARCHAR2(10),
- NOMBRES_NADADOR VARCHAR2(40),
- NACIONALIDAD_NADADOR VARCHAR2(40),
- TIEMPO_RECORD_EN_SEGUNDOS INTEGER,
- NUMERO_CAMPEONATOS_GANADOS INTEGER
- );
- CREATE TABLE CAMPEONATO(
- ID_CAMPEONATO VARCHAR2(10),
- NOMBRE_CAMPEONATO VARCHAR2(50),
- NOMBRE_ATLETA_PRIMER_LUGAR VARCHAR2(50),
- TIEMPO_SEGUNDOS_PRIMER_LUGAR INTEGER
- );
- CREATE TABLE RESULTADO_CAMPEONATO(
- TIEMPO_EN_SEGUNDOS INTEGER,
- ID_NADADOR VARCHAR2(10),
- ID_CAMPEONATO VARCHAR2(10)
- );
- CREATE OR REPLACE TRIGGER TR_B_IU_NACIONALIDAD
- BEFORE
- INSERT OR UPDATE OF NACIONALIDAD_NADADOR ON NADADOR
- FOR EACH ROW WHEN (NOT (UPPER(NEW.NACIONALIDAD_NADADOR)='ECUADOR') AND NOT (UPPER(NEW.NACIONALIDAD_NADADOR)='COLOMBIA') AND NOT (UPPER(NEW.NACIONALIDAD_NADADOR)='VENEZUELA'))
- DECLARE
- BEGIN
- RAISE_APPLICATION_ERROR(-20001,'Nacionalidad Nadador solo acepta estos valores: "ECUADOR", "COLOMBIA", "VENEZUELA"; en mayusculas o minusculas ');
- END TR_B_IU_NACIONALIDAD;
- CREATE OR REPLACE TRIGGER TR_B_IU_TIEMPOCAMPEONADO
- AFTER
- INSERT OR UPDATE OF TIEMPO_EN_SEGUNDOS ON RESULTADO_CAMPEONATO
- FOR EACH ROW
- BEGIN
- IF :NEW.tiempo_en_segundos > :old.tiempo_en_segundos THEN
- UPDATE NADADOR SET TIEMPO_RECORD_EN_SEGUNDOS = :NEW.tiempo_en_segundos WHERE ID_NADADOR = :NEW.ID_NADADOR;
- END IF;
- END TR_B_IU_TIEMPOCAMPEONADO;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement