求一个存储过程怎么写
想把表中的数据量传递给参数,同时表名也是一个参数,执行存储过程的时候输入表名。
@num=select count(*) from @table
[解决办法]
- SQL code
create proc get_rowcount@tbname varchar(100),@rows int outputasbegindeclare @sql nvarchar(1000)set @sql = N'select @rows=count(*) from '+@tbnameexec sp_executesql @sql,N'@rows int output',@rows outputendgodeclare @i intexec get_rowcount 'tb_test',@i outputselect @i
[解决办法]
这类问题一般都是将变量表名组织成字符串的sql语句,
再用sp_executesql 或 execute直接执行。
2楼的应该执行不了。