我有以下查询

INSERT INTO balance
(_id, value)
VALUES
(1,10)
ON DUPLICATE KEY
UPDATE value=VALUES(value + 10)


显然,这会更新一行,如果该行不存在,则会创建该行。

现在,我想在上一个查询成功完成之后执行以下查询

INSERT INTO transaction (owner, value, type, description) VALUES (1, 10,'CREDIT','User Deposit');


我如何链接两个查询,其中只有第一个成功的情况下才执行第二个查询。

有任何想法吗?

最佳答案

您可以使用output子句:

UPDATE TableA
SET ColA = 'SomethingNew'
OUTPUT DELETED.ColA , INSERTED.ColA
WHERE YourLogicHere;
GO;

10-07 13:27
查看更多