Question on Insert Trigger
Date: Thu, 6 Mar 2008 13:48:46 -0800 (PST)
Message-ID: <0d2f2afa-9bfc-4400-91a7-0e68f984ffad@p73g2000hsd.googlegroups.com>
I am using 10.2.0.3 on HP UNIX 11i.
I have a third party application where I do not have access to code. When rows are inserted in a table, I do not want certain rows to be inserted . Rest of the rows should be inserted. Is it is possible to do this using a trigger.
I wrote a trigger like following. This trigger is for illustrative purposes; conditions for filtering are more complex.
create or replace trigger emp_aftins
after INSERT ON employee
for each row
declare
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
if (:new.name is null) then
dbms_output.put_line(:new.wwid || 'name' || :new.name);
rollback;
else
commit;
end if;
END;
/
I was hoping that when I do rollback that row will not be inserted. I
found that
Dbms_output before rollback is exceuted, then rollback is exceuted,
yet row is being inserted.
If I try to delete a row instead of rollback, I get mutating table error.
Appreciate any help.
Thanks a lot. Received on Thu Mar 06 2008 - 15:48:46 CST