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.daimami.com/search?q=177537