您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_dropkey

语法


sp_dropkey <keytype>, <tabname>[,< deptabname>]

参数

<keytype>

是要删除的键的类型。其值包括:primary、foreign 或 common。

<tabname>

是包含要删除的键的键表或视图的名称。

<deptabname>

如果 <keytype> 是 foreign 或 common,则指定关系中的第二个表的名称。如果 <keytype> 是 primary,则不需要此参数,这是因为 primary 键没有相关表。如果 <keytype> 是 foreign,则这是主键表的名称。如果 <keytype> 是 foreign,则按照两个表在 sp_helpkey 中出现的顺序给出它们的名称。

示例

示例 1

删除 employees 表的主键。依赖于 employees 的主键的任何外键也将被删除:


sp_dropkey primary, employees

示例 2

删除 employees 和 projects 表之间的公用键:


sp_dropkey common, employees, projects

示例 3

删除 titleauthor 和 titles 表之间的外键:


sp_dropkey foreign, titleauthor, titles

用法

使用 sp_dropkey 时,还存在一些其它注意事项:

  • 执行 sp_dropkey 将从 syskeys 中删除指定的键。只有表的所有者才能从该表中删除键。

  • 创建键是为了使数据库设计中隐式的逻辑关系变为显式的。此信息可供应用程序使用。

  • 删除主键将自动删除与之关联的所有外键。而删除外键不会对该表上指定的主键产生影响。

  • 执行 sp_commonkey、sp_primarykey 或 sp_foreignkey 会将键添加到 syskeys 系统表中。若要显示有关已定义键的报告,请执行 sp_helpkey。