📅  最后修改于: 2023-12-03 15:18:09.776000             🧑  作者: Mango
在 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
表上的所有外键约束条件的信息,包括约束名称、关联的列和关联表的名称和列。