存储过程传表名为参数
create procedure [dbo].[P_GetPaged]
(@startIndex int,
@endIndex int
)
as
begin
set nocount on
declare @indextable table(id int identity(1,1),nid int)
set rowcount @endIndex
insert into @indextable(nid) select Windex from T_Wares order by Windex desc
select w.* from t_wares w left outer join @indextable t on w.windex=t.nid
where t.id between @startIndex and @endIndex order by t.id
set nocount off
end
本人写了以上这个存储过程来实现分页,想将表T_Wares 及列Windex 也作为参数传入
自己写了下,但总是运行不过,请大家指点一二(以下是在下写的)
create proc p_gettableinfo
(
@tablename nvarchar(100),
@colname nvarchar(100),
@startIndex int,
@endIndex int
)
as
begin
declare @strsql varchar(8000)
declare @indextable table(id int identity(1,1),nid int)
set @strsql=' into '+@indextable+'(nid) select '+@colname+' from '+@tablename +' order by '+@colname+' desc'
exec (@strsql)
set @strsql=' Select w.* from +'@indextable'+ w left outer join '+@indextable'+ t on t.nid='+@tablename+'.'+@colname
set @strsql=@strsql+' where t.id between '+@startIndex+' and '+@endIndex+' order by t.id desc '
exec (@strsql)
end
希望大家帮帮忙