¿Puedes chequear este código para saber por que el oracle me arroja un mensaje de error?
Quisiera preguntarte si puedes chequear este código 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!.. Aquí mando una tabla y el código a ver si me puedes 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<>'Continente' or :new.lug_tp_lugar<>'Reino' or :new.lug_tp_lugar<>'Pais' or :new.lug_tp_lugar<>'Estado') then
raise_aplication_error(-20053,'el tio de lugar no es valido');
end if;
end valida_tipo_lugar;
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<>'Continente' or :new.lug_tp_lugar<>'Reino' or :new.lug_tp_lugar<>'Pais' or :new.lug_tp_lugar<>'Estado') then
raise_aplication_error(-20053,'el tio de lugar no es valido');
end if;
end valida_tipo_lugar;
1 Respuesta
Respuesta de manicmonday
1