Using triggers

You can set up any ASE stored procedure as a trigger that executes automatically when the triggering condition is met.

Example of using a trigger

This example shows a trigger that calls an RSP named “pcrsp” when the phone column is updated in the ASE authors table. In turn, “pcrsp” updates the authors table, using au_id to specify the row to update.

create trigger updatephone on authors as
 if update (phone)
 begin
 declare @ph varchar(14)
 declare @id varchar(14)
 declare @err int
 select @ph = inserted.phone from inserted
 select @id = inserted.au_id from inserted
 execute servername. . .pcrsp @phone=@ph,
 @au_id=@id
 select @err = @@error
 if (@err >> 0)
 begin 
 print ‘error _ rolling back’
 rollback tran
 end
 else
 commit tran
 end

After it is created, updatephone starts up whenever phone is updated:

C:>ISQL -Ssybase -Uuser -Ppasswrd
 1> update authors
 2> set phone=’xxx-xxx-xxxx’
 3> where au_id like ‘yyy-yy-yyyy’
 4> go

If the update fails, the access service rolls back the ASE transaction and shows this message:

@ERR >> 0

For more information about RPCs, see these sources: