比如我有一个用户表user
字段 name
以下是我写的存储过程create procedure find
@name char(10)
as
select @name as lieming from admin where name=@nameexec find '123';
这样肯定没有问题
列名 lieming
123
我想通过这样的方式,但会出错create procedure find
@name char(10),
@column char(10)
as
select @name as @column from admin where name=@name
exec find '123','lieming';求助各位我想把列名自己传参数,应该怎么写呢
字段 name
以下是我写的存储过程create procedure find
@name char(10)
as
select @name as lieming from admin where name=@nameexec find '123';
这样肯定没有问题
列名 lieming
123
我想通过这样的方式,但会出错create procedure find
@name char(10),
@column char(10)
as
select @name as @column from admin where name=@name
exec find '123','lieming';求助各位我想把列名自己传参数,应该怎么写呢
@name varchar(10),
@column varchar(10)
as
exec ('select '''+@name+''' as '+@column+' from admin where name='''+@name+'''')
use northwinddeclare @f1 varchar(10),
@f2 varchar(10),
@str varchar(100)
set @f1='第一列'
set @f2='第二列'set @str='select CustomerID as ' + @f1 +',CompanyName as ' + @f2 +' from Customers'
print @str
exec (@str)
use northwinddeclare @f1 varchar(10),
@f2 varchar(10),
@c1 varchar(50),
@c2 varchar(50),
@str varchar(100)set @c1='CustomerID'
set @c2='CompanyName'
set @f1='第一列'
set @f2='第二列'set @str='select ' + @c1+' ' + @f1 +',' + @c2 + ' ' + @f2 +' from Customers'
print @str
exec (@str)
@name char(10),
@column char(10)
as
declare @sql varchar(4000)
set @sql='select '+@name+' as '+@column+' from admin where name=@name'
exec(@sql)