From b9d0829b9bec3a6a0a54a74b247fad3377bad644 Mon Sep 17 00:00:00 2001 From: GID Projects Date: Sat, 27 Jun 2020 18:22:57 -0400 Subject: [PATCH] Se Agrega validacion que el usuario no puede ingresar una ID mayor a la existente --- trigger.sql | 8 ++++++++ trigger_test.sql | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/trigger.sql b/trigger.sql index 6d8c8d7..5a07f16 100644 --- a/trigger.sql +++ b/trigger.sql @@ -10,12 +10,19 @@ DECLARE BEGIN SELECT MAX(ID_CIUDAD) INTO v_id_ciudad FROM CIUDAD; + IF (:NEW.ID_CIUDAD IS NOT NULL) AND (v_id_ciudad IS NOT NULL) THEN + IF (v_id_ciudad+1) < :NEW.ID_CIUDAD THEN + RAISE_APPLICATION_ERROR(-20120, 'NO SE PUEDE INSERTAR, El ID ingresado es mayor al ID maximo de la tabla'); + END IF; + END IF; + IF v_id_ciudad IS NULL THEN :NEW.ID_CIUDAD := 1; ELSE :NEW.ID_CIUDAD := v_id_ciudad + 1; END IF; END; +/ -- Trigger 4 CREATE OR REPLACE TRIGGER VALIDACION_PRE_COMPETENCIA @@ -42,6 +49,7 @@ BEGIN END IF; CLOSE PARTICIPAR_PRECO; END; +/ -- Trigger 5 CREATE OR REPLACE TRIGGER CALCULAR_VALOR_DELEGACION diff --git a/trigger_test.sql b/trigger_test.sql index f56a36b..b9cdf4b 100644 --- a/trigger_test.sql +++ b/trigger_test.sql @@ -5,7 +5,7 @@ INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Dichato', 1); INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Wingsi', 2); -INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Wingsi', 2); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (20, 'Wingsi', 2); -- Trigger 4 INSERT INTO PARTICIPAR_COMPETENCIA (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES (1, 5, TO_DATE('2020-07-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));