[Oracle] 启用/禁止主外键

禁止主外键:

declare
   cursor c_constraints is select * from user_constraints;
   r_constrains user_constraints%rowtype;
   sql_str varchar2(100);
begin
   open c_constraints;
   loop
     fetch c_constraints into r_constrains;
     exit when c_constraints%notfound;
     sql_str:='alter table '|| r_constrains.table_name||' disable constraint '||r_constrains.constraint_name;
     --dbms_output.put_line('sql: '||sql_str);
     execute immediate sql_str;
     commit;
   end loop;
   close c_constraints;
end;

启用主外键:

declare
   cursor c_constraints is select * from user_constraints;
   r_constrains user_constraints%rowtype;
   sql_str varchar2(100);
begin
   open c_constraints;
   loop
     fetch c_constraints into r_constrains;
     exit when c_constraints%notfound;
     sql_str:='alter table '|| r_constrains.table_name||' enable  constraint '||r_constrains.constraint_name;
     --dbms_output.put_line('sql: '||sql_str);
     execute immediate sql_str;
     commit;
   end loop;
   close c_constraints;
end;

参考:
http://blog.csdn.net/hao00zzb/article/details/7389633

发布了170 篇原创文章 · 获赞 30 · 访问量 61万+

猜你喜欢

转载自blog.csdn.net/u010989191/article/details/54588665