日期:2014-05-18  浏览次数:20521 次

求一个存储过程怎么写
想把表中的数据量传递给参数,同时表名也是一个参数,执行存储过程的时候输入表名。

@num=select count(*) from @table



------解决方案--------------------
SQL code

create proc get_rowcount
@tbname varchar(100),
@rows int output
as
begin
declare @sql nvarchar(1000)
set @sql = N'select @rows=count(*) from '+@tbname
exec sp_executesql @sql,N'@rows int output',@rows output
end
go

declare @i int
exec get_rowcount 'tb_test',@i output
select @i

------解决方案--------------------
这类问题一般都是将变量表名组织成字符串的sql语句,
再用sp_executesql 或 execute直接执行。

2楼的应该执行不了。