Triggers 在Sybase ASA16中创建条件更新触发器

Triggers 在Sybase ASA16中创建条件更新触发器,triggers,updates,sybase,sybase-asa,Triggers,Updates,Sybase,Sybase Asa,我想用条件创建一个触发器,有两个表Trx(列=TrxResp,Prodcode,TrxFwdIID,TrxTType)和存款(列=AccountXID,Balance) 这种情况是,如果表Trx更新的条件是TRXREP in(51,55)和Prodcode in(101001,103001)以及TrxFwdIID=(28)和TrxTType in(30,1,49,46),则触发器将使用以下条件更新表存款中的列余额: @Amount = 2000 @Accountxid = 123 update

我想用条件创建一个触发器,有两个表Trx(列=TrxResp,Prodcode,TrxFwdIID,TrxTType)和存款(列=AccountXID,Balance)

这种情况是,如果表Trx更新的条件是TRXREP in(51,55)和Prodcode in(101001,103001)以及TrxFwdIID=(28)和TrxTType in(30,1,49,46),则触发器将使用以下条件更新表存款中的列余额:

@Amount = 2000
@Accountxid = 123

update Deposit set Balance = Balance - @Amount where AccountXID = @AccountXID;
 
我试着像下面这样写剧本,但我想我完全错了

CREATE TRIGGER "UpdateDepositBalance" after update OF prodcode in (101001, 103001),trxFwdIId = 28,trxttype in (30,1,49,46),trxresp in (51,55) 
on TRx
for each row
begin
declate @Amount int;
declare @Accountxid int;
    
    set @Amount = 2000
    set @Accountxid = 123
    update Deposit set Balance = Balance - @Amount where AccountXID = @AccountXID;
    end;

谁能帮帮我吗。我在触发器和SP方面太弱了,你在标题中说“SyBase”,却在标签中标记MySQL、SQL Server和PostgreSQL。您真正使用的是什么RDBMS?对不起,已经编辑过了您所说的“完全错误”是什么意思?您在创建或执行过程中是否遇到错误(如果是,是什么错误)?扳机没有开火吗?触发器正在触发,但行未更新(或已更新,但值错误)?您查看了吗?从底部看第三个示例,它有一个
if
test。。。我猜您可以将一些
if
语句链接在一起以满足您的需求