Merge pull request #14 from cromerc/trigger5

Trigger5
This commit is contained in:
HieloxZack 2020-06-26 22:04:44 -04:00 committed by GitHub
commit 63bcb0968a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 7 deletions

View File

@ -108,12 +108,12 @@ INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-0
INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-10-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '4', '2');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('1', '1', TO_DATE('2020-05-21 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1500000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('1', '2', TO_DATE('2020-05-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '350000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('2', '3', TO_DATE('2020-05-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '280000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('3', '4', TO_DATE('2020-06-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '168000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('4', '2', TO_DATE('2020-09-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '178000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('5', '3', TO_DATE('2020-10-13 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-18 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '189000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES ('1', '1', TO_DATE('2020-05-21 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1500000', '1500000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES ('1', '2', TO_DATE('2020-05-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '350000', '350000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES ('2', '3', TO_DATE('2020-05-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '280000', '280000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES ('3', '4', TO_DATE('2020-06-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '168000', '168000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES ('4', '2', TO_DATE('2020-09-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '178000', '178000');
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES ('5', '3', TO_DATE('2020-10-13 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-18 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '189000', '189000');
INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES ('1', '1', '3', TO_DATE('2019-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '70');

View File

@ -46,3 +46,29 @@ INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES (
/* Pregunta 5 */
CREATE OR REPLACE TRIGGER CALCULAR_VALOR_DELEGACION
BEFORE INSERT OR UPDATE
ON HOSPEDAR
FOR EACH ROW
DECLARE
atletas DELEGACION.CANTIDAD_ATLETAS%TYPE;
BEGIN
IF INSERTING THEN
SELECT CANTIDAD_ATLETAS INTO atletas
FROM DELEGACION WHERE (ID_DELEGACION = :NEW.ID_DELEGACION);
:NEW.PRECIO_DELEGACION := atletas * :NEW.PRECIO_ATLETA;
ELSIF UPDATING THEN
SELECT CANTIDAD_ATLETAS INTO atletas
FROM DELEGACION WHERE (ID_DELEGACION = :NEW.ID_DELEGACION);
:NEW.PRECIO_DELEGACION := atletas * :NEW.PRECIO_ATLETA;
END IF;
END;
INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES (1, 1, 5, 50000);
UPDATE HOSPEDAR SET PRECIO_DELEGACION = 5 WHERE (ID_HOTEL = 1 AND ID_DELEGACION = 1);
UPDATE HOSPEDAR SET PRECIO_ATLETA = 50000 WHERE (ID_HOTEL = 1 AND ID_DELEGACION = 1);