--创建临时表 create table #tb(id varchar(500)) insert into #tb select dbo.f_Get_AllQybm(@qybm)--dbo.f_Get_AllQybm 是函数 --查询记录 declare @a nvarchar(500),@b nvarchar(500); select @b=id from #tb; set @a='SELECT ROW_NUMBER() OVER(ORDER BY JLRQ DESC) AS RowNumber,* FROM XM_GoodBehavior where QYBM in ('+@b+')'; SET NOCOUNT ON exec(@a) --删除临时表 drop table #tb
以上代码是写在存储过程中的(SET NOCOUNT ON 这句话是为了在finereport报表中使用添加的),创建一个临时表,将查询满足dbo.f_Get_AllQybm函数的值放入临时表,将临时表中的id列给变量@b。