台灣最大程式設計社群網站
線上人數
1314
 
會員總數:246133
討論主題:189712
歡迎您免費加入會員
討論區列表 >> MS SQL >> Execute sp_executesql執行更新出現錯誤訊息
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Execute sp_executesql執行更新出現錯誤訊息
價值 : 100 QP  點閱數:162 回應數:4
樓主

小米乙
門外漢
0 200
2698 409
發送站內信

捐贈 VP 給 小米乙
請問各位先進們,小弟想用Execute sp_executesql執行一段可以更新資料表的語句,
但卻出現[錯誤訊息](如下方錯誤訊息所示),不知道是不是哪邊的方式有錯誤,還是說
其實不能這樣使用?



錯誤訊息:
Incorrect syntax near 'ted1107'. 語法錯誤
Must declare the scalar variable "@slId". 必須宣告@slId

搜尋相關Tags的文章: [ MS SQL Execute ] , [ sp_executesql ] , [ Update ] ,
本篇文章發表於2020-10-21 08:31
1樓

Declare @strSQL as nvarchar(max)
Declare @slId as nvarchar(16)
Declare @sl_DeptNO as nvarchar(16)

set @slId = N'AAAA'
set @sl_DeptNO = N'6'
set @strSQL = N'Update T_Aset DB01 = 0 Where DB_id = @slId and DB_Sno = @sl_DeptNO'
exec(@strSQL)
本篇文章回覆於2020-10-21 09:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小米乙
捐贈 VP 給 小米乙 檢舉此回應
還是有[Must declare the scalar variable "@slId".]的錯誤,有事過Print 將@slId、@sl_DeptNO變數印出,是可以印的,印出就是[AAAA]、[6]兩個輸入值,只是錯誤碼還是會出現...
本篇文章回覆於2020-10-21 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

真的有點難
檢舉此回應
Declare @strSQL as nvarchar(max)
Declare @slId as nvarchar(16)
Declare @sl_DeptNO as nvarchar(16)

set @slId = N'AAAA'
set @sl_DeptNO = N'6'
set @strSQL = N'Update T_Aset DB01 = 0 Where DB_id = '''+@slId+''' and DB_Sno = '''+@sl_DeptNO+''''
exec(@strSQL)
本篇文章回覆於2020-10-21 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小米乙
捐贈 VP 給 小米乙 檢舉此回應
感謝[真的有點難]先進的指點與解惑,謝謝!
本篇文章回覆於2020-10-22 09:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.