子程序调用解析
当PL/SQL编译器遇到子程序的时候,它搜索匹配的子程序的声明,首先在当前范围内搜索,如果需要会依次在封装范围内搜索。
当子程序的名称和参数列表匹配的时候,声明和调用是匹配的。
如果声明中每个必要的形参在调用中都有一个相对应的实参,则参数列表匹配。
如果编译器没有找到与调用匹配的声明,则产生一个语义错误。
DECLARE PROCEDURE swap (n1 NUMBER, n2 NUMBER) IS num1 NUMBER; num2 NUMBER;
FUNCTION balance(bal NUMBER) RETURN NUMBER IS x NUMBER := 10;
PROCEDURE swap (d1 DATE, d2 DATE) IS BEGIN NULL; END;
PROCEDURE swap (b1 BOOLEAN, b2 BOOLEAN) IS BEGIN NULL; END;
BEGIN swap(num1, num2); RETURN x; END balance;
BEGIN NULL; END swap;
BEGIN -- 匿名块 NULL; END;
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1132820/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1132820/