2016-08-25 48 views
1

我在寫一個作爲一系列SQL腳本的一部分執行的SQL腳本。我無法訪問其他腳本,也無法控制「系列執行」 - 邏輯。是否有USE數據庫語句的pushd/popd?

我想更改我的腳本中的數據庫(USE someDB),但是,我想確保腳本運行之後,以前的DB是當前的DB。數據庫使用是否有某種pushd/popd?一種替代方法,例如,以某種方式將當前數據庫寫入臨時變量?

回答

0

我不知道任何PUSHD/POPD功能,但要獲得當前數據庫名稱的方法是使用這樣的DB_NAME()函數:

SELECT DB_NAME() 
+0

我不能找到一種方法,使用一個變量作爲'USE'語句的參數 - 你知道嗎? –

+0

不,你不能,我選擇使用2個選項,動態sql或'IF @ A ='a'USE X IF @ A ='b'USE Y' – MWillemse

+0

或者使用sqlcmd模式:http://stackoverflow.com/a/9241515/411860 – MWillemse

相關問題