【问题标题】:Limit script to run only on specific databases限制脚本仅在特定数据库上运行
【发布时间】:2016-10-01 19:28:26
【问题描述】:

我有数据库

DEV_a    TST_a    REAL_a
DEV_b    TST_b    REAL_b
DEV_c    TST_c    REAL_c

这些可以在同一台服务器上,也可以在不同的服务器上。现在我正在编写一个仅与 DEV_aTST_aREAL_c 相关的脚本/事务。

有什么方法可以限制脚本只在那些数据库上运行?

我认为这可能有效:

USE [DEV_a]

但这会迫使它只在一个数据库上运行,但我有一个列表。 这可行吗?

额外的问题:如果可行,我可以为 DEV_aTST_a 运行部分脚本,但为 REAL_c 运行脚本的不同部分?

【问题讨论】:

    标签: tsql sql-server-2005


    【解决方案1】:

    考虑使用DB_NAME(),它应该在 SQL 2005 中可用。

    SELECT * FROM dbo.SomeTableName
    WHERE DB_NAME() IN ('DEV_a', 'TST_a', 'REAL_c')
    

    至于额外的问题,我认为 DB_NAME() 和 IF...ELSE 会起作用

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      • 2020-11-08
      相关资源
      最近更新 更多