2015-05-01 93 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

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

相关问题