日期:2014-05-16  浏览次数:21014 次

请大侠来:PLSQL块中执行DDL语句的问题
begin
 create table abc(id number(2));
 end;
 /

为什么像这样的语句在PLSQL块中通不过啊,而如果用动态SQL来执行DDL却可以?

------解决方案--------------------
Oracle就是这样的。
对于嵌入到PLSQL块中,或者存储过程,函数中的DDL语句,都要通过动态的execute immediate来执行。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html