微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – While循环遍历数据库

我想知道是否有人可以帮助我创建一个while循环来迭代几个数据库以从两列中的一个表中获取数据.这是我到目前为止所做的.什么都行不通,因为我不知道如何让select语句通过每个数据库工作,关于我从每个数据库查询的表(dbo.tbldoc)
DECLARE @Loop int
DECLARE @dbname varchar(300)
DECLARE @sql varchar(max)
DECLARE @tableName VARCHAR(255)

SET @Loop = 1
SET @dbname = ''

   WHILE @Loop = 1
BEGIN

   SELECT [name] FROM sys.databases 
   WHERE [name] like 'z%' and create_date between '2010-10-17' and '2011-01-15'
   ORDER BY [name]

      SET @Loop = @@ROWCOUNT

   IF @Loop = 0
      BREAK

   SET @sql = ('USE ['+ @dbnAME +']')
      IF EXISTS(SELECT [name] FROM sys.tables WHERE name != 'dbo.tbldoc' )
                  BEGIN
               SELECT SUM(PGCOUNT),CREATED FROM **dbo.tbldoc**
            END
            ELSE
            --BEGIN
               PRINT 'ErrorLog'
            END

解决方法

我会考虑 sp_MSForEachDB哪个更容易……

编辑:

sp_MSForEachDB 'IF DB_NAME LIKE ''Z%%''
BEGIN


END
'

原文地址:https://www.jb51.cc/mssql/77986.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐