使用内联SQL更新语句

时间:2015-06-21 17:26:22

标签: sql sql-server sql-server-2008 syntax-error

此语法一直给我一个无效的列。我想要做的就是将值插入表中。我应该如何更改语法以使其成为可能?这是出现的错误。

  

Msg 207,Level 16,State 1,Line 1
  列名称'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

2 个答案:

答案 0 :(得分:1)

您应该使用单引号转义插入的JCombobox变量varchar并使用@vector而不是insert语句:

update

SQLFiddle

答案 1 :(得分:0)

是否有必要使用Exec动态SQL?它有风险,因为它可以启用sql注入。

为什么不正常执行Insert语句:

Insert into  #Test 
Values (Coalesce(@vector,''))