2010-05-25 27 views

回答

4

存在一个未公开的存储过程sp_MSForEachDB,如果您调用传递字符串作为参数,它将执行该字符串,用?替换数据库名称。

例如为:

exec sp_MSForEachDB 'use ?; select * from INFORMATION_SCHEMA.TABLES' 
+0

+1 - 这就是为什么我花时间在SO上,找出这样的小片段! – 2010-05-25 07:16:41

+0

+1,这在2000年,2005年和2008年的作品。另外注意'sp_MSForEachtable' – 2010-05-25 07:19:18

+0

+1,这节省了我很多时间! – gotqn 2012-08-31 11:50:12

2

对于SQL Server 2005,以优良的SSMS Tools pack包含此功能。

[此功能在SQL Server 2008中本机可用]。

相关问题