首页 文章

如何更改存储过程中使用的表的架构

提问于
浏览
0

我有程序dbo.GetData:

Create procedure dbo.GetData
As
Begin
Select * from dbo.tblName
End

我还创建了一个模式[ABC],表ABC.tblName

所以,我想通过使用另一个存储过程将过程dbo.GetData中的表的schema [dbo]更改为[ABC] . 结果是:

Create procedure dbo.GetData
As
Begin
Select * from [ABC].tblName
End

我该怎么做?

谢谢大家 .

2 回答

  • 0

    我问,但我想你只想改变存储过程中执行的代码 . 如果是这样,一个简单的 ALTER PROCEDURE 会改变代码,但不是名称:

    ALTER PROCEDURE dbo.GetData
    AS
    BEGIN
        SELECT * FROM [ABC].tblName
    END
    

    [ALTER PROCEDURE] 1的完整语法(适用于SQL Server)

    如果这不是你想要的,请澄清问题 .

    更新:

    我看到的唯一真正的解决方案是编写脚本,然后使用文本编辑器将 dbo. 值替换为 [ABC]. 值 .

    我只是尝试通过更新系统表来尝试这样做,但在SQL Server 2012(我使用的)中,它只是变得太复杂了 .

  • 0

    试试这个希望,这可能对你有帮助!

    ALTER SCHEMA NewSchemaName TRANSFER OldSchemaName.ObjectName
    

相关问题