1
我在寫一個作爲一系列SQL腳本的一部分執行的SQL腳本。我無法訪問其他腳本,也無法控制「系列執行」 - 邏輯。是否有USE數據庫語句的pushd/popd?
我想更改我的腳本中的數據庫(USE someDB
),但是,我想確保腳本運行之後,以前的DB是當前的DB。數據庫使用是否有某種pushd/popd?一種替代方法,例如,以某種方式將當前數據庫寫入臨時變量?
我在寫一個作爲一系列SQL腳本的一部分執行的SQL腳本。我無法訪問其他腳本,也無法控制「系列執行」 - 邏輯。是否有USE數據庫語句的pushd/popd?
我想更改我的腳本中的數據庫(USE someDB
),但是,我想確保腳本運行之後,以前的DB是當前的DB。數據庫使用是否有某種pushd/popd?一種替代方法,例如,以某種方式將當前數據庫寫入臨時變量?
我不知道任何PUSHD/POPD功能,但要獲得當前數據庫名稱的方法是使用這樣的DB_NAME()函數:
SELECT DB_NAME()
我不能找到一種方法,使用一個變量作爲'USE'語句的參數 - 你知道嗎? –
不,你不能,我選擇使用2個選項,動態sql或'IF @ A ='a'USE X IF @ A ='b'USE Y' – MWillemse
或者使用sqlcmd模式:http://stackoverflow.com/a/9241515/411860 – MWillemse