[关闭]
@hengbao 2018-06-04T07:01:03.000000Z 字数 724 阅读 951

Oracle:关闭开启所有外键

Oracle


请使用sqlplus或者plsql的命令窗口执行语句,如果是plsql,请使用命令窗口,在末尾敲入/,然后回车即可。

1.关闭所有外键

  1. SET SERVEROUTPUT ON SIZE 50000
  2. BEGIN
  3. for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R' or CONSTRAINT_TYPE='C') loop
  4. DBMS_OUTPUT.PUT_LINE(C.V_SQL);
  5. begin
  6. EXECUTE IMMEDIATE c.v_sql;
  7. exception when others then
  8. dbms_output.put_line(sqlerrm);
  9. end;
  10. end loop;
  11. end;

2.开启所有外键

  1. SET SERVEROUTPUT ON SIZE 50000
  2. begin
  3. for c in (select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R' or CONSTRAINT_TYPE='C') loop
  4. DBMS_OUTPUT.PUT_LINE(C.V_SQL);
  5. begin
  6. EXECUTE IMMEDIATE c.v_sql;
  7. exception when others then
  8. dbms_output.put_line(sqlerrm);
  9. end;
  10. end loop;
  11. end;
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注