天天看點

sqlserver找不到存儲過程

在敲組合查詢的時候要用到存儲過程,而我在敲組合查詢的過程中卻遇到一個問題:

sqlserver找不到存儲過程

這就讓我很納悶了,難道是因為我的存儲過程的名字寫錯了?還是存儲過程裡的sql語句有錯誤?我仔仔細細檢查了一遍,沒有錯啊。就在百思不得其解的時候,恍然大悟,原來原因是這樣的。。。

原因:在存儲過程中的最後一句是:

execute (@sql)

1

而我卻寫成了execute @sql,沒有加括号,由于我不知道存儲過程的用法,是以在這兒磕絆了好長時間。

execute @sql  //如果不加括号,sqlserver會預設執行的是一個存儲過程

execute (@sql)  //加上括号,才是執行拼接的字元串

1

2

如果我們是想執行sql語句,而并非存儲過程,就要用第二種。

遇到這個問題的解決辦法

1. 首先可以檢查資料庫是否正确。

sqlserver找不到存儲過程

2. 其次可以檢查你的存儲過程名是否拼寫錯誤。

3. 第三就是檢查 execute 是否使用正确。

感悟

通過這一次的錯誤,我相信我以後再遇到這種錯誤就知道怎麼解決了。

————————————————

版權聲明:本文為CSDN部落客「張偉傑-Vijay」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/zwj_jyzl/article/details/84727605