Oracle 怎么删除外键

在Oracle中,如何去删除自己创建的外键呢?本教程就为大家介绍Oracle中删除外键的方法。

在Oracle中,我们可以使用ALTER TABLE语句来对外键进行删除。

 

语法

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

示例

我们先使用下方的代码创建一个外键:

CREATE TABLE supplier
( supplier_id numeric(10) not null,
  supplier_name varchar2(50) not null,
  contact_name varchar2(50),
  CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);

CREATE TABLE products
( product_id numeric(10) not null,
  supplier_id numeric(10) not null,
  CONSTRAINT fk_supplier
    FOREIGN KEY (supplier_id)
    REFERENCES supplier(supplier_id)
);

通过以上代码,我们在supplier表上创建了一个名为supplier_pk的主键。然后再在products表上创建了一个名为fk_supplier的外键。

如果我们想要删除这个新创建的外键,我们可以执行以下的代码:

ALTER TABLE products
DROP CONSTRAINT fk_supplier;

这样,我们就成功的删除了这个新建的fk_supplier外键。

我们创建外键后,可能有时会遇到要禁用外键的情况,那么在Oracle中,我们如何对外键进行禁用呢?在Oracle中,我们要禁用外键可以使用以下语法:ALTER TABLE table_name DISABLE CONSTRAINT constraint_name;