将查询评估为行中的字符串

Evaluate query as a string in row

假设我有一个 table,其中每一行都是一个字符串表示形式的查询

'select * from foo1'

'select * from foo2'

'select * from foo3'

是否可以一次评估所有查询?

更改以下代码中的 QueryString 和 TableName 以反映您的 table 信息。其他都不需要改变。

DECLARE @Query varchar(50);  

DECLARE query_cursor CURSOR FOR
SELECT QueryString FROM TableName;

OPEN query_cursor;

FETCH NEXT FROM query_cursor
INTO @Query;

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC (@Query);
   FETCH NEXT FROM query_cursor
   INTO @Query;
END

CLOSE query_cursor;
DEALLOCATE query_cursor;