Home » SQL & PL/SQL » SQL & PL/SQL » Trigger problem
Trigger problem [message #41207] Tue, 10 December 2002 02:41 Go to next message
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 Go to previous messageGo to next message
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 Go to previous message
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;
/
Previous Topic: Connecting to a database and using an sql procedure to modify objects database
Next Topic: Encountered the ADODB.Command error
Goto Forum:
  


Current Time: Thu May 16 18:07:05 CDT 2024