【发布时间】:2017-09-19 17:59:40
【问题描述】:
我有一个包含 2 列 QueryName 和 Query 的表。我正在尝试执行存储在表的Query 列中的查询。
我想显示记录计数为零以上的任何内容,我们需要使用queryname 和count 打印到输出。我正在使用以下光标,我能够显示rowcount,但请任何人建议我如何显示QueryName:
DECLARE @Sql NVARCHAR(MAX);
DECLARE Cur CURSOR LOCAL FAST_FORWARD FOR
(SELECT Query
FROM VWLetterTYB )
OPEN Cur
FETCH NEXT FROM Cur INTO @Sql
WHILE (@@FETCH_STATUS = 0)
BEGIN
--Exec sp_executesql @Sql
EXEC ('SELECT COUNT(*) AS Rowcounts FROM (' + @sql + ') AS t HAVING COUNT(*) > 0 ')
FETCH NEXT FROM Cur INTO @Sql
END
CLOSE Cur
DEALLOCATE Cur;
【问题讨论】:
-
这是一个很好的起点。 spaghettidba.com/2015/04/24/…
-
Query 只是一个表名吗?如果是这样,只需将其作为字符串文字添加到选择中
-
如果查询使用 CTE 怎么办?
标签: sql-server tsql cursor relational-database