插入是否可以无错误地执行但不插入任何内容?我正在使用sql server 2008,并想知道我是否可以通过检查@@error
或者我缺少的东西来逃脱。如需更新,请检查@@error
和@@rowcount
。插入@@rowcount = 0
对我来说似乎很奇怪。
修改的
@Gregory我基本上想知道如何错误地检查一个insert语句。是否存在插入执行且@@error
为0的奇怪边界情况?
答案 0 :(得分:3)
您可以使用返回空表的select来运行INSERT
命令。
该语句将成功但不会更新行。
INSERT INTO myTable (col1, col2)
SELECT col1, col2
FROM myOtherTable
WHERE 1 = 2
答案 1 :(得分:0)
您是否遇到错误,但没有插入?
或者这只是一个关于为什么要使用ROWCOUNT的问题? ROWCOUNT还有其他用途,而不是检查单个插入是否有效。
或者你问的是@@ ERROR?
答案 2 :(得分:0)
此外,如果涉及触发而不是触发器,则插入可能最终不会插入任何行而不会出现错误。