如果从 EXECUTE 执行后获值?

wenjason 2006-01-24 11:15:57
在存储过程中有一句:
SET @strSQL = 'SELECT COUNT(*) AS Total FROM [' + @表名变量 + ']'
EXECUTE (@strSQL)好象不能赋予变量。
请问,怎样才能使用另一个变量取得 Count 的值?
...全文
198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
denniswwh 2006-01-24
  • 打赏
  • 举报
回复
可以将结果插入到临时表再赋给变量
SET @strSQL = 'SELECT COUNT(*) AS Total FROM [' + @表名变量 + ']'
create table #t(total int)
insert into #t exec (@strSQL)
select @total = total from #t
lsqkeke 2006-01-24
  • 打赏
  • 举报
回复
exec('SELECT COUNT(*) AS Total into bbbb FROM [' + @表名变量 + ']')
declare @a int
select @a=total from bbbb
select @a
drop table bbbb
子陌红尘 2006-01-24
  • 打赏
  • 举报
回复
DECLARE @strSQL NVARCHAR(1000),@COUNT INT,@TAB NVARCHAR(100)
SET @TAB = N'表名'
SET @strSQL = N'SELECT COUNT(*) AS Total FROM [' + @TAB + ']'
EXEC SP_EXECUTESQL @strSQL,N'@COUNT INT OUT',@COUNT OUT
SELECT @COUNT
-狙击手- 2006-01-24
  • 打赏
  • 举报
回复
SET @strSQL = 'SELECT * AS Total FROM [' + @表名变量 + ']'
EXECUTE (@strSQL)

set @rowcount = @@rowcount
OracleRoob 2006-01-24
  • 打赏
  • 举报
回复
--将exec执行结果放入变量中

declare @num int, @strSQL nvarchar(4000)
set @strSQL='select @a=count(*) from [' + @表名变量 + '] '
exec sp_executesql @strSQL,N'@a int output',@num output
select @num

27,579

社区成员

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

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