表t_dept(dept_id,dept_name)
表t_emp(e_id,dept_id,e_name)
表t_user(u_id,e_id,u_name)
大致关系就是这样,表t_emp引用t_dept中的dept_id,表t_user引用表t_emp中的e_id
现在我要删除表t_dept,要将下面有关联的数据备份,存储过程应该怎么写?
表t_emp(e_id,dept_id,e_name)
表t_user(u_id,e_id,u_name)
大致关系就是这样,表t_emp引用t_dept中的dept_id,表t_user引用表t_emp中的e_id
现在我要删除表t_dept,要将下面有关联的数据备份,存储过程应该怎么写?
SQL> create table tablec
2 (c_id number(10) primary key,
3 d_id number(10),
4 name varchar2(10));
Table created
SQL> create table tableb
2 (b_id number(10) primary key,
3 c_id number(10) ,
4 name varchar2(10));
Table created
SQL> alter table TABLEB
2 add constraint TABLEB_CHECK1 foreign key (C_ID)
3 references TABLEC (C_ID) on delete cascade;
Table altered
SQL> create table tablea
2 (a_id number(10) primary key,
3 b_id number(10) ,
4 name varchar2(10));
Table created
SQL> alter table TABLEA
2 add constraint TABLEA_CHECK1 foreign key (B_ID)
3 references TABLEB (B_ID) on delete cascade;
Table altered
SQL> insert into tablec values(1,1,'test');
1 row inserted
SQL> insert into tableb values(1,1,'test');
1 row inserted
SQL> insert into tablea values(1,1,'test');
1 row inserted
SQL> commit;
Commit complete
SQL> delete from tablec;
1 row deleted
SQL> commit;
Commit complete
SQL> select * from tableb;
B_ID C_ID NAME
----------- ----------- ----------
SQL> select * from tablea;
A_ID B_ID NAME
----------- ----------- ----------
SQL>
纠结了半天了T_T
纠结了半天了T_T