2012-01-18 50 views
0

在SQL 2005中使用Stored proc時,此錯誤在C#代碼中顯示。從mgmt studio運行存儲過程時未顯示此錯誤。到目前爲止,這聽起來有點像鑄造問題B/W存儲過程的returend值vs C#的使用...「重新編譯SP後,將表達式轉換爲數據類型int的算術溢出錯誤消失」SP

WEIRD THING是,當我只是重新推薦SP,沒有改變完成只有再次運行ALTER PROC命令0 changs,並且錯誤消失在C#代碼中。 是否有任何意義?只是重新編制SP導致錯誤消失。 謝謝。

+0

顯示代碼/錯誤.. SQL 2005是最好的btw – MethodMan 2012-01-18 22:43:24

回答

1

定義存儲過程時,播放中的多個鍵SET將被刻錄到該存儲過程中(因此它對於調用者而言表現相同)。這可能會影響雜物的行爲;抑制警告,導致錯誤,從而導致不同的行爲,使其發生不信任持續計算索引列(每列的重計算)等

這聽起來好像在玩SET語句時,它是原本創造不合適;通過重新創建它,您可以將它們設置爲第二次啓用的任何內容。相同的TSQL;相同的sproc - 但不同的SET選項:不同的結果。

由於SET選項可以設置爲SSMS中的默認值,這可能意味着第一次創建它時誰創建了非標準設置。

特別是,這會影響ANSI_NULLSQUOTED_IDENTIFIER

相關問題