Oracle - ayuda para un trigger

 
Vista:

ayuda para un trigger

Publicado por ega (1 intervención) el 04/11/2004 10:44:32
Buenas:
Estoy trabajando con Oracle9i, y tengo una tabla "usuarios", otra "instalaciones" y otra "reservan". La tabla reservan tiene un campo de tipo fecha que se llama "fecha", otro de tipo varchar2(5) que es la hora de inicio (hora_ini) y otro de tipo varchar2(5) que es la hora de fin (hora_fin) de la reserva de la instalacion. Estoy intentando hacer un trigger en el que tengo que restringir que no se pueda insertar una fila nueva en la tabla "reservan" cuando el dia de reserva de una instalacion sea domingo y la hora de inicio de reserva sea despues de las 14:30 o la hora de fin sobrepase las 14:30. El codigo que utilizo es el siguiente:
CREATE OR REPLACE TRIGGER restr_inst
AFTER INSERT OR UPDATE OF hora_ini,hora_fin,fecha ON RESERVAN
DECLARE
H_INI VARCHAR2(5);
H_FIN VARCHAR2(5);
FEC DATE;
DIA NUMBER(1);
BEGIN
SELECT HORA_INI, HORA_FIN, FECHA INTO H_INI,H_FIN,FEC
FROM RESERVAN;

SELECT (TO_NUMBER(TO_CHAR(FEC,'D'))) INTO DIA FROM reservan;

IF (DIA= 7) THEN
IF (H_INI> '14:30') OR (H_FIN> '14:30') THEN
RAISE_APPLICATION_ERROR(-20000,'IMPOSIBLE REALIZAR LA RESERVA');
END IF;
END IF;
END restr_inst;

Si alguien sabe cómo se hace...
Gracias

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder