前置声明
在pl/sql中必须先声明一个程序,然后才能使用这个元素。但如果程序a调用程序b,而程序b又调用程序a,那么该怎么声明呢?可以使用前置声明。也即先生命两个程序的块头
部分,然后在给出模块的真正定义。前置声明可以使程序在定义之前被调用。
规则:1、不能对变量和游标进行前置声明,只针对过程和函数。
2、前置声明必须位于pl/sql块的声明部分
比如:procedure proc_name (year_in in integer)
is
function fun_name1(....) return number; --前置声明函数fun_name1
function fun_name2(....) return number --函数fun_name2调用fun_name1
is
...
end fun_name2;
function fun_nmae1(....) return number --函数fun_name1又调用了fun_name2
is
...
end fun_name1;
begin
。。。
end proc_name;