1
我遇到了這個問題,我不知道是什麼原因造成的。我的教授同樣感到困惑。存儲過程得到執行32次
create procedure getName
@AuthorNum decimal(2,0)
as
begin
select AUTHOR_LAST 'Last Name', AUTHOR_FIRST 'First Name'
from AUTHOR
where AUTHOR_NUM = @AuthorNum
end
go
execute getName 9
這應返回Collins Bradley
。相反,它執行32次。第一次返回預期結果,但其他31次返回表中第二項的條目(如果您感興趣,則返回Soloratoff Paul
)
任何線索爲什麼它會執行最大次數?
恭喜你自己找到了解決方案!只有一個提示:如果除了讀取數據外別無其他,數據庫存儲過程並不是最好的選擇。你應該更喜歡一個*內聯*表值函數(沒有'BEGIN ... END') – Shnugo
謝謝,這很好。這是一個任務的答案,所以這個問題特別要求提供 –
另一個提示是,當調用帶有execute的SP時,使用命名參數。這樣,如果將來參數的順序發生變化,則不會有代碼被破壞。 –