这种语法一直给我一个无效的列。我要做的就是将值插入表中。我应该如何更改语法以使其成为可能?这是出现的错误。
Msg 207, Level 16, State 1, Line 1
Invalid column name 'Alpha12'.
码:
Declare @vector varchar(25), @sql varchar(max)
Set @vector = 'Alpha12'
Create Table #Test (vector varchar(50))
Set @sql = 'Update #Test '
+ 'set vector = coalesce(''' + @vector + ''', '''')'
Print @sql
Exec (@sql)
Select * from #Test
Drop Table #Test
最佳答案
您应该使用单引号对插入的varchar
变量@vector
进行转义,并使用insert
代替update
语句:
set @sql = 'insert into #Test '
+ 'values (coalesce(''' + @vector + ''', ''''))'
SQLFiddle
关于sql - 使用内联SQL更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967310/