disable the foreign key in TableB and purge the data in TableA

解决方案 »

  1.   

    SQL> create table table1(id number,name varchar2(10),
      2  constraint id_pk primary key(id));表已创建。SQL> create table table2(t2id number,t1id number,
      2  constraint t2id_fk foreign key(t1id) references table1(id)
      3                 on delete cascade);表已创建。
    SQL> insert into table1 values(1,'zhang');已创建 1 行。SQL> insert into table1 values(2,'oracle');已创建 1 行。SQL> insert into table2 values(100,1);已创建 1 行。SQL> insert into table2 values(200,2);已创建 1 行。SQL> commit;提交完成。SQL> delete from table1;已删除2行。SQL> select * from table2;未选定行
      

  2.   

    1)  : dajian2000(张海建) ( ) 信誉:122 
        在建表b 时已经用了on delete cascade
       现在我的表已经建好了,不能再建,   直接delete from table1;是绝对行不通的
    2)  用A的主键作为外键的 表很多,有十几个
        而且建表的 sql脚本没了
    有其它办法吗?
      

  3.   

    还有一个办法!如果你使用的是Oracle 9i,使用可视化控制平台,进行删除!
    这样你会发现可以删除;
    但是后面可能会发生异常,不负责哦
      

  4.   

    你可以先删除外键,再删除你的表A中的数据ALTER TABLE B DROP CONSTRAINT constraint_foreign_name;delete from a;
      

  5.   

    DROP TABLE TABLENAME CASCADE CONSTRAINTS;