返回记录总数的存储过程

netwar 2007-07-18 02:50:09
用户传来一个表名,返回这个表的记录总数,这个存储过程怎么改进呢、谢谢

alter proc testa(
@stable varchar(250),
@recordcount varchar(20) output
)
as declare @str varchar(500)
select @str='select @recordcount=count(*) from '+@stable
exec(@str)
...全文
188 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gahade 2007-07-18
  • 打赏
  • 举报
回复
sp_executesql可以包含参数,exec不行
netwar 2007-07-18
  • 打赏
  • 举报
回复
谢谢两位,问题解决,顺便问一下,exec sp_executesql 这个地方与exe有什么区别呢?
mengmou 2007-07-18
  • 打赏
  • 举报
回复
use pubs
go
alter proc testa(
@stable varchar(250),
@recordcount int output
)
as
declare @str nvarchar(4000)
select @str=N'select @recordcount=count(*) from '+@stable
exec sp_executesql @str,N'@recordcount int output ',@recordcount output

go
declare @i int
exec testa 'authors',@i output
select @i
gahade 2007-07-18
  • 打赏
  • 举报
回复
前3楼都只差3秒,好险!
leo_lesley 2007-07-18
  • 打赏
  • 举报
回复
看见的时候是0,转眼见5
leo_lesley 2007-07-18
  • 打赏
  • 举报
回复
alter proc testa(
@stable varchar(250),
@recordcount int output
)
as declare @str nvarchar(500)
select @str=N'select @recordcount=count(*) from '+@stable
Execute sp_executesql @str,N'@recordcount int OUTPUT',@recordcount OUTPUT

hellowork 2007-07-18
  • 打赏
  • 举报
回复
alter proc testa(
@stable varchar(250),
@recordcount varchar(20) output
)
as declare @str Nvarchar(500)
select @str=N'select @recordcount=CONVERT(varchar,count(*)) from '+@stable
exec sp_executesql @str,N'@recordcount varchar(20) output',@recordcount output
gahade 2007-07-18
  • 打赏
  • 举报
回复
--测试代码
declare @i int
exec testa 'sysobjects',@i output
print @i
子陌红尘 2007-07-18
  • 打赏
  • 举报
回复
alter proc testa(
@stable varchar(250),
@recordcount int output
)
as
begin
declare @str nvarchar(500)
select @str=N'select @recordcount=count(*) from '+@stable
exec sp_executesql @str,N'@recordcount int out', @recordcount out
return
end
go
gahade 2007-07-18
  • 打赏
  • 举报
回复
alter proc testa(
@stable varchar(250),
@recordcount int output
)
as declare @str nvarchar(500)
select @str='select @recordcount=count(*) from '+@stable
exec sp_executesql @str,N'@recordcount int output',@recordcount output

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧