Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2008, 07:37
Carmax
 
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Alguien le puede ver el error? en oracle

Hola a todos.. de nuevo soy yo.. jeje.. pero quisiera que alguien chequeara este codigo a ver si algo anda mal, porque oracle me arroja el mensaje de error cuando no se cumplen las condiciones.. fino!.. pero cuando si se cumplen. igual me lo arroja!.. aqui les mando una tabla y el codigo a ver si me pueden ayudar a encontrar el error.. y gracias!

CREATE TABLE LUGAR_TABLE (
LUG_PK_LUGAR NUMBER (10) NOT NULL,
LUG_NM_LUGAR VARCHAR2 (100) NOT NULL,
LUG_TP_LUGAR VARCHAR2 (10) NOT NULL,
LUG_FK_LUGAR NUMBER (10) NULL,
CONSTRAINT LUGAR_PK PRIMARY KEY (LUG_PK_LUGAR),
CONSTRAINT LUG_TP_LUGAR_CH CHECK (LUG_TP_LUGAR IN('Continente','Reino','Pais','Estado','Ciudad')) );


CREATE OR REPLACE TRIGGER LEGO.VALIDA_TIPO_LUGAR
BEFORE INSERT OR UPDATE
ON LEGO.LUGAR_TABLE
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
IF(:NEW.LUG_TP_LUGAR_CH<>'Continente' OR :NEW.LUG_TP_LUGAR<>'Reino' OR :NEW.LUG_TP_LUGAR<>'Pais' OR :NEW.LUG_TP_LUGAR<>'Estado') THEN
RAISE_APPLICATION_ERROR(-20053,'EL TIPO DE LUGAR NO ES VALIDO, DEBE SER CONTINENTE, REINO,PAIS,EDO O CIUDAD');
END IF;
END VALIDA_TIPO_LUGAR;