我正在尝试执行下面的代码,我在这里的一个线程中找到了它
UPDATE MyGuests
SET lastname = 'Doe'
WHERE id = 2
IF ROW_COUNT() = 0
INSERT INTO MyGuests (lastname, id)
VALUES ('Doe', 2)
问题是,我需要做同样的事情,但与sql server查询。我在这里的主要想法是,如果新的阅读有相同的 BoxNo
同样的道理 SSCC
同样的道理 StyleBarcode
,则 Qty
列将由+1更新。否则,它将生成一个新的插入。
我在考虑做如下代码:
UPDATE MyTable
SET Qty = Qty + 1
WHERE BoxNo = 1
AND SSCC = 15210049000887900
AND StyleBarcode = 5210132138457
IF ROW_COUNT() = 0
INSERT INTO MyTable (SSCC, StyleBarcode, Qty)
VALUES (15210049000887900, 5210132138457, 1)
但我没能去,因为我没有像 ROW_COUNT()
在sql server中。
或者我不知道你能不能换个方法?
提前谢谢。
我的table:
1条答案
按热度按时间oewdyzsn1#
sql server实现
merge
语法,它似乎与您的用例相关。这句话让你
insert
或者update
根据定义良好的 predicate ,从一个表到给定的表。你的问题是: