我在购买表中有3个表和一个触发器。
用户(UserId |余额)
购买(PurchaseId | UserId | Amount | IsConfirm)
TransactionDetail(TrxId | UserId | Balance | Amount)
当购买IsConfirm从False更新为True时,我希望触发器更新玩家余额并将新记录插入TransactionDetail。
我有这个批量更新声明:
更新购买SET IsConfirm = true WHERE UserId = 1
我知道触发器只会在批量更新时触发一次。 因此,如果有5行更新,则只有1行插入TransactionDetail表,并且余额未正确更新。
如果批量更新中有5行受影响,则 通过使用触发器,有没有办法在TransactionDetail中插入5个更新的行并正确更新用户平衡?