我有以下 SQL 更新:
UPDATE [Shop_Benelux_2012].[dbo].[StringResource]
SET [ConfigValue] = ''
WHERE [Name] = 'default.aspx.1'
GO
我有 10 个数据库需要在其上运行此语句。
我的数据库看起来像这样:
- Shop_DE_2012
- Shop_FR_2012 ...
我如何在所有数据库上运行该语句,而无需在 Management Studio 中的每个数据库上手动运行它?
我有以下 SQL 更新:
UPDATE [Shop_Benelux_2012].[dbo].[StringResource]
SET [ConfigValue] = ''
WHERE [Name] = 'default.aspx.1'
GO
我有 10 个数据库需要在其上运行此语句。
我的数据库看起来像这样:
我如何在所有数据库上运行该语句,而无需在 Management Studio 中的每个数据库上手动运行它?
又快又脏
EXEC sp_MSForEachDB '
USE ?
IF DB_NAME() LIKE ''Shop%''
UPDATE [dbo].[StringResource]
SET [ConfigValue] = ''''
WHERE [Name] = ''default.aspx.1''
'
注意:我使用 2 部分名称,没有“Shop_Benelux_2012”
我有一个将所有数据库包装在一起的视图,允许我通过一个查询从其中任何一个数据库中选择、插入、更新或删除。这些被称为分区视图。你会想读这个。
http://technet.microsoft.com/en-us/library/ms190019(v=sql.105).aspx