簡體   English   中英

使用多個變量進行更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM