2016-06-02 5 views
0

Ich habe DatenbankenSkript-Grenze nur auf bestimmten Datenbanken

DEV_a TST_a REAL_a 
DEV_b TST_b REAL_b 
DEV_c TST_c REAL_c 

Diese können auf demselben Server oder auf anderen Server laufen. Jetzt schreibe ich ein Skript/eine Transaktion, die nur für DEV_a, TST_a und REAL_c relevant ist.

Gibt es eine Möglichkeit, das Skript so zu beschränken, dass es nur auf diesen Datenbanken ausgeführt wird?

dachte ich, das funktionieren könnte:

USE [DEV_a] 

aber das würde es nur auf einer Datenbank ausführen zwingen, aber ich habe eine Liste. Ist das machbar?

Zusätzliche Frage: Wenn es machbar ist, kann ich Teile des Skripts laufen für DEV_a und TST_a aber anderen Teil des Skripts für REAL_c?

Antwort

0

Betrachten DB_NAME() verwenden, sollte es in SQL 2005.

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

Was die zusätzliche Frage zur Verfügung stehen, denke ich DB_NAME() und IF...ELSE

arbeiten