DB2 trigger

Hi,

I am trying to create this trigger that is updating the time and data in a table when a flag is changed in another table. This is the trigger.

The erros is : This statemens is not allowed.

Any ideas how can i make it work?

Thanks.
CREATE TRIGGER name
 
	BEFORE UPDATE ON table
 
	REFERENCING OLD AS OLDVAL 
 
	NEW AS NEWVAL 
 
	FOR EACH ROW 
 
	MODE DB2SQL 
 
	
 
	when (OLDVAL.flag != NEWVAL.flag )
 
		UPDATE other_table
 
				SET (FEADAT,FEATIM) = (CURRENT DATE, SUBSTR(CAST(current time AS CHAR(8)),1,2) ||  SUBSTR(CAST(current time AS CHAR(8)),4,2) )
 
					WHERE other_table.id =NEWVAL.id ;

Open in new window

se_1581Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Kent OlsenDBACommented:
Hi se,

I believe that this kind of trigger needs to be an AFTER trigger.  


Kent
0
Dave FordSoftware Developer / Database AdministratorCommented:

I agree with Kent. It should be an AFTER trigger.

Also, I think you need a BEGIN and END.

e.g.
 create trigger TR_MyTableAfterUpdate
   after update of flag on MyTable
   referencing new row as NewRow
               old row as OldRow
   for each row
   set option dbgview = *source
 Begin
    update SomeOtherTable s
    .... < some stuff >
    ;
 End;

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
se_1581Author Commented:
Thanks guys.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
DB2

From novice to tech pro — start learning today.