用游标循环读取数据库名称,逐个打开数据库实现跨库查询

DECLARE @SQL VARCHAR(MAX)

DECLARE test_cursor CURSOR

SCROLL FOR

SELECT PFDB_No from dbo.PFDBInfoTable

OPEN test_cursor

DECLARE @PFDBNo nchar(11)

FETCH NEXT FROM test_cursor INTO @PFDBNo

WHILE

@@FETCH_STATUS=0

BEGIN

 PRINT @PFDBNo    

SET @SQL='SELECT * FROM '+@PFDBNo+'.dbo.BarNoTable'  EXEC (@SQL)

 FETCH NEXT FROM test_cursor INTO @PFDBNo END

CLOSE test_cursor

DEALLOCATE test_cursor

原文地址:https://www.cnblogs.com/Ly426/p/4307972.html