【发布时间】:2017-06-07 18:54:20
【问题描述】:
我有一个包含存储为VARCHAR 的SQL 语句的表。我想计算每个语句返回多少行。我正在将这些语句读入一个名为 @SQL 的临时变量中,并在光标浏览每一行时执行类似的操作:
set @SQL = (select sqlcode from t1 where id = @id)
set @SQL = 'Select @id, count(*) from (' + @SQL + ') as t';
insert into #myresults
exec(@SQL)
除非其中一条 SQL 语句本身使用临时表或游标,否则这可以正常工作。
【问题讨论】:
-
您是否尝试过运行语句然后获取@@Rowcount?
-
这听起来像我要找的。我试试看。
-
给我带来麻烦的语句以一系列“drop table”和“close cursor”语句结束,所以@@rowCount 返回 0。
-
您运行的是什么版本的 SQL?如果您使用的是较新版本,则有一些方法可以从查询存储中提取受影响的行
-
SQL Server 2014
标签: sql-server tsql sql-server-2014