Advertisement
JUNIORCEDE1

Untitled

Jul 3rd, 2017
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. CREATE TABLE NADADOR(
  3. ID_NADADOR                                     VARCHAR2(10),
  4. NOMBRES_NADADOR                              VARCHAR2(40),
  5. NACIONALIDAD_NADADOR                         VARCHAR2(40),
  6. TIEMPO_RECORD_EN_SEGUNDOS                    INTEGER,
  7. NUMERO_CAMPEONATOS_GANADOS                   INTEGER
  8. );
  9.  
  10.  
  11. CREATE TABLE CAMPEONATO(
  12. ID_CAMPEONATO                               VARCHAR2(10),
  13. NOMBRE_CAMPEONATO                          VARCHAR2(50),
  14. NOMBRE_ATLETA_PRIMER_LUGAR                 VARCHAR2(50),
  15. TIEMPO_SEGUNDOS_PRIMER_LUGAR               INTEGER
  16. );
  17.  
  18.  
  19. CREATE TABLE RESULTADO_CAMPEONATO(
  20. TIEMPO_EN_SEGUNDOS                              INTEGER,
  21. ID_NADADOR                                     VARCHAR2(10),
  22. ID_CAMPEONATO                               VARCHAR2(10)
  23. );
  24.  
  25.  
  26. CREATE OR REPLACE TRIGGER TR_B_IU_NACIONALIDAD
  27. BEFORE
  28. INSERT OR UPDATE OF NACIONALIDAD_NADADOR ON NADADOR
  29. FOR EACH ROW WHEN (NOT (UPPER(NEW.NACIONALIDAD_NADADOR)='ECUADOR') AND NOT (UPPER(NEW.NACIONALIDAD_NADADOR)='COLOMBIA') AND NOT (UPPER(NEW.NACIONALIDAD_NADADOR)='VENEZUELA'))
  30. DECLARE
  31. BEGIN
  32.     RAISE_APPLICATION_ERROR(-20001,'Nacionalidad Nadador solo acepta estos valores: "ECUADOR", "COLOMBIA", "VENEZUELA";  en mayusculas o minusculas ');
  33. END TR_B_IU_NACIONALIDAD;
  34.  
  35. CREATE OR REPLACE TRIGGER TR_B_IU_TIEMPOCAMPEONADO
  36. AFTER
  37. INSERT OR UPDATE OF TIEMPO_EN_SEGUNDOS  ON RESULTADO_CAMPEONATO
  38. FOR EACH ROW
  39. BEGIN
  40.     IF :NEW.tiempo_en_segundos > :old.tiempo_en_segundos THEN
  41.         UPDATE NADADOR SET TIEMPO_RECORD_EN_SEGUNDOS = :NEW.tiempo_en_segundos WHERE ID_NADADOR = :NEW.ID_NADADOR;
  42.     END IF;
  43. END TR_B_IU_TIEMPOCAMPEONADO;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement