在此上下文中不允许使用 'yan'。此处只允许使用常量、表达式或变量。不允许使用列名。
为什么??输入数字就可以,其它字符都不行
代码:
declare @aa varchar(16)
Set @aa = 'yan'
declare @c_tmp varchar(250)
select @c_tmp = 'insert into tablename(status) values('+@aa+')'
execute(@c_tmp)
为什么??输入数字就可以,其它字符都不行
代码:
declare @aa varchar(16)
Set @aa = 'yan'
declare @c_tmp varchar(250)
select @c_tmp = 'insert into tablename(status) values('+@aa+')'
execute(@c_tmp)
你在执行前用 print @c_tmp,把这句打出来,
就知道为什么你的语句没有成功执行了。
insert into tablename(status) values (yan),yan不是按照字符串送进去的,所以错了,
改为select @c_tmp = 'insert into tablename(status) values(''' + @aa + ''')' 就可以了,
在SQL中,三个'表示字符串中的一个'字符,''''表示2个'字符,以后使用的时候可以注意这些东西.