插入0行没有错误

时间:2011-06-02 13:56:48

标签: sql sql-server

插入是否可以无错误地执行但不插入任何内容?我正在使用sql server 2008,并想知道我是否可以通过检查@@error或者我缺少的东西来逃脱。如需更新,请检查@@error@@rowcount。插入@@rowcount = 0对我来说似乎很奇怪。

修改的 @Gregory我基本上想知道如何错误地检查一个insert语句。是否存在插入执行且@@error为0的奇怪边界情况?

3 个答案:

答案 0 :(得分:3)

您可以使用返回空表的select来运行INSERT命令。

该语句将成功但不会更新行。

INSERT INTO myTable (col1, col2)
SELECT col1, col2
FROM myOtherTable
WHERE 1 = 2

答案 1 :(得分:0)

您是否遇到错误,但没有插入?

或者这只是一个关于为什么要使用ROWCOUNT的问题? ROWCOUNT还有其他用途,而不是检查单个插入是否有效。

或者你问的是@@ ERROR?

答案 2 :(得分:0)

此外,如果涉及触发而不是触发器,则插入可能最终不会插入任何行而不会出现错误。