在 Oracle 数据库中,要创建外键,你可以使用 ALTER TABLE 语句,具体步骤如下:

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