1

我有以下 SQL 更新:

UPDATE [Shop_Benelux_2012].[dbo].[StringResource]
   SET [ConfigValue] = ''
 WHERE [Name] = 'default.aspx.1'
GO

我有 10 个数据库需要在其上运行此语句。

我的数据库看起来像这样:

  • Shop_DE_2012
  • Shop_FR_2012 ...

我如何在所有数据库上运行该语句,而无需在 Management Studio 中的每个数据库上手动运行它?

4

2 回答 2

4

又快又脏

EXEC sp_MSForEachDB '
USE ?
IF DB_NAME() LIKE ''Shop%''
   UPDATE [dbo].[StringResource]
   SET [ConfigValue] = ''''
 WHERE [Name] = ''default.aspx.1''
'

注意:我使用 2 部分名称,没有“Shop_Benelux_2012”

于 2012-08-16T13:59:29.263 回答
0

我有一个将所有数据库包装在一起的视图,允许我通过一个查询从其中任何一个数据库中选择、插入、更新或删除。这些被称为分区视图。你会想读这个。

http://technet.microsoft.com/en-us/library/ms190019(v=sql.105).aspx

于 2012-08-16T13:58:10.073 回答