Oracle11g 如何在Oracle 11g中使用SQL Developer进行删除级联?
我试图从数据库中的一个表中删除一条记录,但另一个表引用了此行(外键)。因此,我想在oracle11g中使用sqldeveloper进行删除级联。如何执行此操作?如果试图删除(父)表中的行,而其他(子)表具有对该行的外键引用,则会导致Oracle11g 如何在Oracle 11g中使用SQL Developer进行删除级联?,oracle11g,record,Oracle11g,Record,我试图从数据库中的一个表中删除一条记录,但另一个表引用了此行(外键)。因此,我想在oracle11g中使用sqldeveloper进行删除级联。如何执行此操作?如果试图删除(父)表中的行,而其他(子)表具有对该行的外键引用,则会导致 ORA-02292: integrity constraint (XXXXXX) violated. 要在删除父记录时删除所有子行,请指定“ON delete CASCADE”选项 在这种情况下,如果删除了department表中的一行,它将删除employee表
ORA-02292: integrity constraint (XXXXXX) violated.
要在删除父记录时删除所有子行,请指定“ON delete CASCADE”选项
在这种情况下,如果删除了department表中的一行,它将删除employee表中的所有员工,而不是引发默认情况下的错误
这与工具(SQL Developer)无关。回答OP的技术问题: 在SQLDeveloper中,可以使用外键引用编辑(子)表。从左侧的树状视图中选择“约束”,然后选择有问题的外键。在“引用约束”表单中,有一个名为“删除时”的下拉列表。从该下拉列表中,选择“级联”
CREATE TABLE Dept_tab (
Deptno NUMBER(3) CONSTRAINT Dept_pkey PRIMARY KEY,
Dname VARCHAR2(15),
Loc VARCHAR2(15),
CONSTRAINT Dname_ukey UNIQUE (Dname, Loc),
CONSTRAINT Loc_check1
CHECK (loc IN ('NEW YORK', 'BOSTON', 'CHICAGO')));
CREATE TABLE Emp_tab (
Empno NUMBER(5) CONSTRAINT Emp_pkey PRIMARY KEY,
Ename VARCHAR2(15) NOT NULL,
Job VARCHAR2(10),
Mgr NUMBER(5) CONSTRAINT Mgr_fkey REFERENCES Emp_tab,
Hiredate DATE,
Sal NUMBER(7,2),
Comm NUMBER(5,2),
Deptno NUMBER(3) NOT NULL
CONSTRAINT dept_fkey REFERENCES Dept_tab ON DELETE CASCADE);