[英]Update with more than 1 variable
我嘗試在同一查詢中使用多個變量,但收到有關列的錯誤...您有想法嗎?
Declare @query nvarchar(max)
set @query = 'contact'
Declare @var2 nvarchar(max)
set @var2 = 'value'
declare @strSql nvarchar(2000)
set @strSql = 'UPDATE Inventaire.dbo.test SET Inventaire.dbo.test.' + @query + ' = ' + @Var2 + ' WHERE Inventaire.dbo.test.nDeviceID = 1'
exec sp_executesql @strSql
錯誤:
消息207,第16級,狀態1,第1行
無效的列名“值”。
您需要在值周圍加上單引號( '
):
Declare @query nvarchar(max)
set @query = 'contact'
Declare @var2 nvarchar(max)
set @var2 = 'value'
declare @strSql nvarchar(2000)
set @strSql = 'UPDATE Inventaire.dbo.test SET Inventaire.dbo.test.' + @query + ' = ''' + @Var2 + ''' WHERE Inventaire.dbo.test.nDeviceID = 1'
exec sp_executesql @strSql
您需要將它們加倍以使服務器知道您要使用文字'
。
用單引號引起來的是'value'
。 沒有它們,您將擁有value
,這意味着您要引用名為value
的列。
我發現了這種贊美:'''+ @ Var2 +'''是3'
謝謝你的幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.