使用sp_executesql执行动态SQL语句,同时向里面传入参数。
create
procedure
proc_SelectDynamic
@Id int , -- ID
@LbId int , -- 类别ID
@GetField nvarchar ( 200 ) -- 获取字段名
AS
declare @sql nvarchar ( 300 ), @param nvarchar ( 500 )
set @sql = ' SELECT ' + @GetField + ' FROM TEST WHERE ID = @ID AND LBID = @LBID '
set @param = ' @ID int, @LbId int '
exec sp_executesql @sql , @param , @id , @lbid
@Id int , -- ID
@LbId int , -- 类别ID
@GetField nvarchar ( 200 ) -- 获取字段名
AS
declare @sql nvarchar ( 300 ), @param nvarchar ( 500 )
set @sql = ' SELECT ' + @GetField + ' FROM TEST WHERE ID = @ID AND LBID = @LBID '
set @param = ' @ID int, @LbId int '
exec sp_executesql @sql , @param , @id , @lbid