1. 创建父表(如果还不存在):
CREATE TABLE departments (
department_id NUMBER PRIMARY KEY,
department_name VARCHAR2(50)
);
在这个例子中,departments 表是父表,包含了部门的信息。
2. 创建子表(如果还不存在):
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
employee_name VARCHAR2(50),
department_id NUMBER,
CONSTRAINT fk_department
FOREIGN KEY (department_id)
REFERENCES departments (department_id)
);
在这个例子中,employees 表是子表,包含了员工的信息,并包含了一个外键 fk_department,它引用了 departments 表的 department_id 列。
3. 或者在已有表上添加外键约束:
ALTER TABLE employees
ADD CONSTRAINT fk_department
FOREIGN KEY (department_id)
REFERENCES departments (department_id);
如果 employees 表已存在,你可以使用 ALTER TABLE 语句添加外键约束。
4. 指定外键的 ON DELETE 和 ON UPDATE 规则(可选):
你可以选择指定外键的删除和更新规则,例如 ON DELETE CASCADE 表示在父表中删除一行时,子表中的相关行也会被删除。
ALTER TABLE employees
ADD CONSTRAINT fk_department
FOREIGN KEY (department_id)
REFERENCES departments (department_id)
ON DELETE CASCADE;
上述例子中,department_id 列是 employees 表中的外键,它引用了 departments 表中的 department_id 列。外键约束名称为 fk_department。
转载请注明出处:http://www.zyzy.cn/article/detail/8072/Oracle