![](/img/trans.png)
[英]Convert Single SQLSERVER 2005 Script to a SQL SERVER 2000 script
[英]getting error in SQL Server 2000 but not in SqlServer 2005
我正在執行存儲過程,並且在sqlserver 2000中收到錯誤消息“錯誤SQL Server數據庫錯誤:將數據類型varchar轉換為int時出錯。”,但是當我在Sql Server 2005中執行相同的存儲過程時,卻沒有錯誤並顯示結果。
有人對此有想法嗎?請幫助我。
謝謝魯帕
這可能取決於數據,而不是2000 vs 2005問題。 兩個數據庫中查詢所處理的行最有可能不同。
開始從失敗的查詢中注釋掉項目,然后每次運行它,直到它起作用。 您最后注釋掉的地方是發生問題的地方。 然后查看與該部分相關的塔塔。
它可能取決於存儲過程使用的執行計划
一個例子
Mytable表看起來像這樣
Mytable
__________
|Val|type |
-----------
|'1'|'num'|
|'2'|'num'|
|'a'|'chr'|
|'b'|'chr'|
|'8'|'num'|
我的選擇看起來像這樣
從Mytable中選擇convert(int,Val),其中type ='num'
根據執行計划,這可能會失敗。 實際上,您可以擁有一個存儲過程,該存儲過程可以正常工作一段時間,但由於表的行數已更改並且sqlserver創建了新的執行計划而突然失敗,導致突然失敗
這里是另一個示例: http : //www.windows-tech.info/15/a0fc276997660092.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.