数据库中如何批量禁用和启用外键、触发器

网友投稿 292 2024-01-03

数据库中如何批量禁用和启用外键、触发器

这篇文章主要为大家展示了“数据库中如何批量禁用和启用外键、触发器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何批量禁用和启用外键、触发器”这篇文章吧。

数据库中如何批量禁用和启用外键、触发器

SET SERVEROUTPUT ON SIZE 100000                                                                                                                         

BEGIN                                                                                                                                                   

for c in (select alter table "||t.owner||".||t.table_name || disable constraint ||t.constraint_name as v_sql

from dba_constraints t where t.constraint_type = R and owner  in (CCOD,RECORD,UCDS)

) loop

DBMS_OUTPUT.PUT_LINE(C.V_SQL);                                                                                                                          

begin                                                                                                                                                   

EXECUTE IMMEDIATE c.v_sql;

 exception when others then                                                                                                                             

 dbms_output.put_line(sqlerrm);                                                                                                                         

 end;                                                                                                                                                   

end loop;                                                                                                                                               

for c in (select alter trigger " || t.owner || ". || t.trigger_name ||

        disable as v_sql

  from dba_triggers t

where owner  in (CCOD,RECORD,UCDS)) loop

 dbms_output.put_line(c.v_sql);                                                                                                                         

 begin                                                                                                                                                  

 execute immediate c.v_sql;                                                                                                                             

exception when others then

 dbms_output.put_line(sqlerrm);                                                                                                                         

 end;                                                                                                                                                   

end loop;                                                                                                                                               

end;                                                                                                                                                    

/                                                                                                                                                       

--启用脚本                                                                                                                                              

SET SERVEROUTPUT ON SIZE 100000

BEGIN                                                                                                                                                   

for c in (select alter table "||t.owner||".||t.table_name || enable constraint ||t.constraint_name as v_sql

from dba_constraints t where t.constraint_type = R and owner  in (CCOD,RECORD,UCDS)) loop

DBMS_OUTPUT.PUT_LINE(C.V_SQL);                                                                                                                          

begin                                                                                                                                                   

 EXECUTE IMMEDIATE c.v_sql;                                                                                                                             

 exception when others then                                                                                                                             

dbms_output.put_line(sqlerrm);

 end;                                                                                                                                                   

end loop;                                                                                                                                               

for c in (select alter trigger " || t.owner || ". || t.trigger_name ||

        enable as v_sql

  from dba_triggers t

 where owner  in (CCOD,RECORD,UCDS)) loop                                           

dbms_output.put_line(c.v_sql);

 begin                                                                                                                                                  

 execute immediate c.v_sql;                                                                                                                             

exception when others then                                                                                                                              

 dbms_output.put_line(sqlerrm);                                                                                                                         

 end;                                                                                                                                                   

end loop;

end;                                                                                                                                                    

/                                                                                                                                                       

以上是“数据库中如何批量禁用和启用外键、触发器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vuex模块(vuex模块化调用方法)
下一篇:layui还有人用吗(layui为什么下线了)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~