子程序参数传递方法
PL/SQL编译器有2种方法可以将实参传递给子程序:
n 引用传递,编译器传递给子程序实参的指针,实参和形参引用相同的内存分配。
n 值传递,编译器将实参的值赋值给形参,实参和形参引用不同的内存分配。
如果需要,编译器隐式地转换实参的数据类型到形参的数据类型。
为了避免隐式转换,可以采用下面的方法:
n 声明你想做为实参的变量与形参具有相同的数据类型。
n 显式地将实参转换为对应形参的数据类型。
-- 避免隐式转换 CREATE OR REPLACE PROCEDURE p (n NUMBER) IS BEGIN NULL; END; /
DECLARE x NUMBER := 1; y VARCHAR2(1) := '1'; BEGIN p(x); -- 不需要转换,因为类型相同 p(y); -- 隐式转换 p(TO_NUMBER(y)); -- 显式转换 END; |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1131973/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1131973/