1

我刚刚将我的Member表从MRK模式移动到GNR.

我以前有下面的脚本来设置它的主键:

If not Exists (select 1 
               from sys.objects 
               where name = 'PK_MRK_Member'
              )
        ALTER TABLE      [MRK].[Member] 
        ADD   CONSTRAINT [PK_MRK_Member] PRIMARY KEY CLUSTERED 
        (
          [MemberID] ASC
        ) ON [PRIMARY]
GO

现在如何更改已定义约束的名称和架构?

我尝试exec sp_rename 'PK_MRK_Member', 'PK_GNR_Member', 'INDEX'更改名称,但收到此错误:

Either the parameter @objname is ambiguous or the claimed @objtype (INDEX) is wrong.

PS:我无法删除表和/或 PK 约束并再次创建它们,因为它们的 PK 已被其他表使用。

4

1 回答 1

3

正如我所见,您的第一个参数对于 procedure 是错误的sp_rename。当您重命名索引时,您应该指定架构和表以及索引名称。例如检查此链接

于 2014-10-14T09:29:34.477 回答