Trigger problem [message #41207] |
Tue, 10 December 2002 02:41 |
venkatesh
Messages: 72 Registered: August 2000
|
Member |
|
|
hi all,
it is known that rollback and commit is not possible inside the trigger block.
say suppose, i write a trigger for insert for table T1.
Table T1 has columns NAME, AGE.
i wanna insert only age above 20. how do i check the condition and accordingly commit or rollback..?
wht i am coming to ask is if the AGE < 20, the data should not be inserted. if AGE > 20, allow inserting.
how do i do this in Trigger????
thanx in advance
regards,
venkatesh
|
|
|
Re: Trigger problem [message #41208 is a reply to message #41207] |
Tue, 10 December 2002 02:46 |
sujit
Messages: 94 Registered: April 2002
|
Member |
|
|
that you can do in before insert trigger. if you use the after insert trigger. mutating table error may occur. so use before insert.
Sujit
|
|
|
Re: Trigger problem [message #41216 is a reply to message #41207] |
Tue, 10 December 2002 10:28 |
Todd Barry
Messages: 4819 Registered: August 2001
|
Senior Member |
|
|
Any failed validation in a trigger should be raised as an exception:
create or replace trigger t1_trg
before insert on t1
for each row
begin
if :new.age < 20 then
raise_application_error(-20000, 'Age must be 20 or older');
end if;
end;
/
|
|
|