2012-08-16 160 views
1

我有以下SQL更新:SQL UPDATE语句

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

我有10个数据库,我需要运行这个说法。

我的DB的这个样子的:

  • Shop_DE_2012
  • Shop_FR_2012 ...

如何运行而无需手动运行它在Management Studio中的每个数据库的所有数据库的声明?

+2

见例如[红门SQL多脚本](http://www.red-gate.com/products/dba/sql-multi-script/) – 2012-08-16 14:03:07

回答

4

快速和肮脏的

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

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

+0

我只想更新数据库,'_2012' – 2012-08-16 14:12:35

+0

@ Super2 :只需将LIKE改为“Shop%2012”即可 – gbn 2012-08-16 15:12:28