PLSQL Language Reference-PL/SQL子程序-子程序参数-子程序参数传递方法

子程序参数传递方法

PL/SQL编译器有2种方法可以将实参传递给子程序:

引用传递,编译器传递给子程序实参的指针,实参和形参引用相同的内存分配。

值传递,编译器将实参的值赋值给形参,实参和形参引用不同的内存分配。

如果需要,编译器隐式地转换实参的数据类型到形参的数据类型。

为了避免隐式转换,可以采用下面的方法:

声明你想做为实参的变量与形参具有相同的数据类型。

显式地将实参转换为对应形参的数据类型。

-- 避免隐式转换

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值