2011-06-02 69 views
0

插入可以執行沒有錯誤,但不插入任何東西?我正在使用SQL Server 2008,並想知道如果我能僅僅通過檢查@@error或者是否有我缺少的東西而逃脫。對於更新,我檢查@@error@@rowcount。插入@@rowcount = 0對我來說似乎很陌生。插入0行沒有錯誤

編輯 @Gregory我基本上想知道如何檢查一個插入語句。插入執行和@@error爲0是否有奇怪的邊界情況?

回答

3

您可以使用select返回空表來運行INSERT命令。

該語句將成功,但不更新行。

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

通過鼠標點擊擊敗我。 :) +1 – 2011-06-02 14:01:25

+0

@Ken - 對不起 - 下次嘗試會變慢;) – Oded 2011-06-02 14:01:55

+0

謝謝,就是我在找的東西。如果使用值插入測試(aCol)值(42)',我是否安全地檢查'@@ error'? – 2011-06-02 14:34:43

0

您是否遇到過錯誤,但沒有插入?

或者這只是一個問題,你爲什麼要使用ROWCOUNT?除了檢查單個插入是否工作之外,ROWCOUNT還有其他目的。

還是你問@@ ERROR?

0

此外,插入可能最終會插入沒有錯誤的行,而不是涉及觸發器。