解决方案 »

  1.   

    把表删除,重新建表?哈哈建议使用动态语句实现吧,通过表名,获取本表的约束条件,动态拼接删除约束语句,使用execute immediate进行删除
    select constraint_name from user_constraints where table_name = upper('&table_name');
      

  2.   

    写了个存储过程,参考
    PROCEDURE DropTabConstraints(P_TNAME IN VARCHAR2) IS
    CUSOR A IS SELECT constraint_name from user_constraints where table_name = upper(P_TNAME);
    V_CNAME VARCHAR2(300);
    BEGIN
      OPEN A;
      LOOP
       FETCH A INTO V_CNAME;
       EXIT WHEN A %NOTFOUND;
       EXECUTE IMMEDIATE 'alter table '||P_TNAME||' drop '||V_CNAME;
      END LOOP;
      CLOSE A;
    END;