【发布时间】:2010-12-07 22:50:49
【问题描述】:
嗨,
使用:SQL Server 数据库:北风
我想删除一个表主键,但不知道 PK 约束名称..
例如,使用Northwind Sample数据库中的Categories表,主键列是'CategoryId',主键名称是'PK_Categories'
我可以在知道主键名称的情况下删除主键:
ALTER TABLE categories DROP CONSTRAINT PK_Categories;
而且我还可以通过表名获取表的主键名:
select name from sysobjects where xtype = 'PK' and parent_obj = object_id('categories')
但是,在不知道主键名称的情况下,我无法将它们放在一起删除表的主键。
我正在尝试:
ALTER TABLE categories DROP CONSTRAINT
(select name from sysobjects where xtype = 'PK' and parent_obj = object_id('categories') )
谁能告诉我哪里出错了?
非常感谢,
鲍勃
【问题讨论】:
-
有人会认为,由于可以在不指定约束名称(自动生成)的情况下创建主键,因此也可以删除该主键而无需指定名称。
标签: sql sql-server primary-key