第1个回答 2010-07-15
没有你这么写的
从来都是select * from info where 字段=@B
没听说过把字段赋值的
而且这是存储过程 你前边定义了没?
ceeate proc a
@a char(10)
as
select * from info where 字段=@a
第2个回答 2010-07-15
这个明显是要使用动态的方法写的
这里需要注意你的 @A表示的字段是什么类型的
如果@A是字符型的字段,@B是字符型的参数 可以这样:
exec('select * from info where '+@A+'='''+@B+'''')
如果@A是数字型的字段,@B是数字型的参数 ,可以这样
declare @s varchar(8000)
set @s='select * from info where '+@A+'='+rtrim(@B)
exec(@s)
第3个回答 2010-07-15
select * from info where @A='@B';
@B用英文的单引号引起来