- 作者: 三十而立
- 时间:2009年9月16日 22:31:48
- 本文出自 “inthirties(三十而立)”博客,转载请务必注明作者和保留出处http://blog.csdn.net/inthirties/archive/2009/09/16/4559726.aspx
执行ddl语句的时候,会提交当前事务,所以会破坏事务的完整性,ddl语句之后rollback已经不能rollback前面的数据了。
而且plsql的程序块,比如procedure和trigger是不能加入ddl语句的,如果有ddl语句,是有编译错误。
不过oracle提供了execute immediate这样的动态sql的功能,有些程序员就是有了在plsql里执行ddl语句的机会叻。
在写procedure的时候,加入ddl语句,请慎用。你这个procedure是否需要事务的完整。
在网友的一个trigger里发现了if not exists then 建表的语句。
小心呀。朋友。
使用execute immediate执行ddl语句前请多考虑一下。
- 如果没有那句“三十而立”,三十岁的男人正可以轻轻松松
- 专业论坛 http://www.inthirties.com
- 技术博客 http://blog.csdn.net/inthirties
- 个人站点 http://blog.inthirties.com
- Oracle Mysql技术论坛| 打造实用的Oracle Mysql技术交流园地