bloquear inserciones

sara
20 de Junio del 2005
una preguntita......quiero hacer un trigger que compruebe un dato y si ese dato es errado no permita hacer una insercion...pero no se como hago para que se bloquee la insercion me podrian ayudar???

set serveroutput on
create or replace trigger control_forma_pago
before insert on venta
for each row
begin
if :new.forma_pago='Contado' then
if nvl(:new.valor_entrada,0)!=0 OR nvl(:new.plazo,0)!=0 OR nvl(:new.valor_cuotas,0)!=0 then
dbms_output.put_line('Si es contado no se permiten valores en valor_entrada, plazo y valor_cuotas'); --aki kisiera bloquear la insercion
end if;
end if;
end control_forma_pago;


Ayudenme please!!!!!

Jor-El
20 de Junio del 2005
Bueeeeeeno, me has caido simpatica, te re-escribo el trigger :


create or replace trigger control_forma_pago
before insert on venta
for each row
begin
if :new.forma_pago='Contado' then
if nvl(:new.valor_entrada,0)!=0 OR nvl(:new.plazo,0)!=0 OR nvl(:new.valor_cuotas,0)!=0 then
raise_application_error(-20001,'Si es contado no se permiten valores en valor_entrada, plazo y valor_cuotas'); --aki SE BLOQUEA la insercion
end if;
end if;
end control_forma_pago;