日期:2014-05-17  浏览次数:21507 次

Oracle中begin end问题
Oracle中执行一个dbms_job包,以下四个写法:
begin
dbms_job.run(44);
end; ----这样正常运行

dbms_job.run(44); ----这样会报错

begin
execute dbms_job.run(44);
end; ----这样会报错

execute dbms_job.run(44); ----这样正常运行


综上所述,请问,begin ....end在Oracle中除了区分程序块,是否还有其他功能,可替代execute?


------解决方案--------------------
begin end;是匿名块 是在 PL-SQL环境中运行的

execute是命令 可以被外界调用。
------解决方案--------------------
execute 是调用oracle的系统包,过程或函数等,在执行时就是以begin..end开始和结束的。
Oracle的pl/sql块都至少有一个begin...end来表示完整块,在begin...end中可以自定义一些函数,存储过程和包等,这些自定义代码由begin开始执行,其所对应的end结束。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html