Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TABLE Participante_;
- CREATE TABLE Participante_
- (
- ID_PARTICIPANTE NUMBER NOT NULL,
- NOMBRE_PARTICIPANTE VARCHAR(50),
- NACIONALIDAD_PARTICIPANTE VARCHAR(50),
- FECHA_PACIENTE DATE,
- EDAD INTEGER,
- CONSTRAINT PK_Participante_ PRIMARY KEY (ID_PARTICIPANTE)
- );
- -------------------------------------
- DROP TABLE Resultados_;
- CREATE TABLE Resultados_
- (
- PUNTOS_JURADO1 NUMBER,
- PUNTOS_JURADO2 NUMBER,
- PUNTOS_JURADO3 NUMBER,
- TOTAL_PUNTOS NUMBER NOT NULL,
- OBSERVACION VARCHAR(50),
- CONSTRAINT PK_Resultados_ PRIMARY KEY ( TOTAL_PUNTOS )
- );
- --------------------------------------
- DROP TABLE Disciplina_Marcial_;
- CREATE TABLE Disciplina_Marcial_
- (
- ID_DISCILPLINA NUMBER NOT NULL,
- NOMBRE_DISCIPLINA VARCHAR(50),
- CONSTRAINT PK_Disciplina_Marcial_ PRIMARY KEY (ID_DISCILPLINA)
- );
- CREATE OR REPLACE TRIGGER tr_b_i_resutados
- before
- INSERT OR UPDATE ON Resultados_
- FOR EACH ROW
- DECLARE
- execep EXCEPTION;
- BEGIN
- IF :NEW.puntos_jurado1 < 0 OR :NEW.puntos_jurado1 > 10 OR :NEW.puntos_jurado2 < 0 OR :NEW.puntos_jurado2 > 10 OR :NEW.puntos_jurado3 < 0 OR :NEW.puntos_jurado3 > 10 THEN
- RAISE execep;
- END IF;
- EXCEPTION
- WHEN execep THEN
- RAISE_APPLICATION_ERROR(-20002, 'Los puntajes ingresados solo pueden estar entre 0 y 10');
- END;
- CREATE OR REPLACE TRIGGER tr_b_i_observacion_r
- before
- INSERT OR UPDATE ON Resultados_
- FOR EACH ROW
- DECLARE
- sumatoria NUMBER :=0;
- promedio NUMBER :=0;
- mensaje VARCHAR(50);
- BEGIN
- sumatoria := :NEW.PUNTOS_JURADO1+:NEW.PUNTOS_JURADO2+:NEW.PUNTOS_JURADO3;
- promedio:= sumatoria/3;
- IF promedio >= 7 THEN
- mensaje := 'Medalla de Oro';
- ELSIF promedio >= 4 AND promedio < 7 THEN
- mensaje := 'Medalla de Plata';
- ELSIF promedio>=0 AND promedio <4 THEN
- mensaje := 'Medalla de Bronce';
- END IF;
- :NEW.observacion := mensaje;
- :NEW.TOTAL_PUNTOS := sumatoria;
- END;
- INSERT INTO Resultados_ ("PUNTOS_JURADO1","PUNTOS_JURADO2","PUNTOS_JURADO3","TOTAL_PUNTOS","OBSERVACION") VALUES (5,5,10,5,'ninguna');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement