2015-05-01 92 views
0

我需要在數據庫ABC上有一個存儲過程,它將重命名數據庫XYZ中的表。這是我曾嘗試 -如何在數據庫XYZ中通過調用SQL存儲庫中的數據庫ABC來重命名錶

USE ABC 
GO 

CREATE PROC RENAME_TABLES 
AS 
BEGIN 

USE XYZ /*This throws Msg 154 error USE cannot be used inside stored procedure*/ 
GO 

EXEC SP_RENAME 'CASH_TRXN','MC_TRXN' 
EXEC SP_RENAME 'MI_TRXN','MMI_TRXN' 
EXEC SP_RENAME 'BACK_OFFICE_TRXN','MBO_TRXN' 

END 

但因爲我不能有USE存儲的過程中,我得到的錯誤。有沒有其他選擇呢?我無法將存儲過程移動到任何其他數據庫。

回答

0

在這裏你去...

CREATE PROC RENAME_TABLES 
AS 
BEGIN 
    execute ('USE [XYZ] EXEC SP_RENAME ''CASH_TRXN'',''MC_TRXN''') 
END 

Source

+1

謝謝主席先生!工作得很好! –

相關問題