在创建外键约束时,可以使用 ON DELETE CASCADE 选项来实现级联删除。下面是一个简单的例子:
-- 创建父表
CREATE TABLE departments (
department_id NUMBER PRIMARY KEY,
department_name VARCHAR2(50)
);
-- 创建子表,并添加外键约束,指定级联删除
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)
ON DELETE CASCADE
);
在上述例子中,ON DELETE CASCADE 表示当 departments 表中的某个部门记录被删除时,与该部门相关联的 employees 表中的员工记录也会被自动删除。
请注意,使用级联删除需要谨慎,因为它会影响数据库中的数据完整性。在启用级联删除之前,请确保你理解了这个操作的后果,并确认它符合你的业务需求。
如果你已经有一个外键关系,并想要添加级联删除,可以使用 ALTER TABLE 语句:
ALTER TABLE employees
ADD CONSTRAINT fk_department
FOREIGN KEY (department_id)
REFERENCES departments (department_id)
ON DELETE CASCADE;
这将在现有外键约束上添加级联删除规则。
转载请注明出处:http://www.zyzy.cn/article/detail/8073/Oracle