📜  oracle 表上的外键 - SQL (1)

📅  最后修改于: 2023-12-03 15:18:09.776000             🧑  作者: Mango

Oracle 表上的外键 - SQL

在 Oracle 数据库中,外键是用于建立两个表之间联系的一种约束条件。这个约束条件是基于两个表之间的主键和外键创建的。

创建外键

要在一个表上创建一个外键,需要使用 ALTER TABLE 语句并指定 FOREIGN KEY 和 REFERENCES 子句,如下所示:

ALTER TABLE child_table
ADD CONSTRAINT child_table_fk
FOREIGN KEY (column_name)
REFERENCES parent_table (column_name);

这个语句将在 child_table 表上创建名为 child_table_fk 的外键约束条件,并将其链接到 parent_table 表上的 column_name 列。

删除外键

要删除一个表上的外键约束条件,需要使用 ALTER TABLE 语句并指定 DROP CONSTRAINT 子句,如下所示:

ALTER TABLE child_table
DROP CONSTRAINT child_table_fk;

这个语句将在 child_table 表上删除名为 child_table_fk 的外键约束条件。

查询外键信息

要查询一个表上的外键约束条件的信息,可以使用以下 SQL 语句:

SELECT
    a.table_name,
    a.constraint_name,
    b.column_name,
    c.table_name AS parent_table_name,
    d.column_name AS parent_column_name
FROM
    user_constraints a
    JOIN user_cons_columns b ON a.constraint_name = b.constraint_name
    JOIN user_constraints c ON a.r_constraint_name = c.constraint_name
    JOIN user_cons_columns d ON c.constraint_name = d.constraint_name
WHERE
    a.constraint_type = 'R'
    AND a.table_name = 'child_table';

这个语句将返回 child_table 表上的所有外键约束条件的信息,包括约束名称、关联的列和关联表的名称和列。