我需要在执行更新查询时根据列中的值删除行。这是代码:
UPDATE tag SET tag_count = tag_count - 1 WHERE tag_id = 1
IF tag_count < 1
delete from tag where tag_id = 1
这个查询给我一个错误。
修改 我正在使用带有C#和sql server的内联sql
答案 0 :(得分:6)
通常,这些情况下的最佳选择是在事务中包装UPDATE和DELETE语句:
BEGIN TRANSACTION;
UPDATE tag SET tag_count = tag_count - 1 WHERE tag_id = 1
DELETE from tag where tag_id = 1 and tag_count < 1;
COMMIT TRANSACTION;
答案 1 :(得分:0)
UPDATE tag
SET tag_count = tag_count - 1
WHERE tag_id = 1
IF tag_count < 1
BEGIN
DELETE FROM tag
WHERE tag_id = 1
END