ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Reference-PL/SQL子程序-子程序参数-子程序参数传递方法

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

原创 Oracle 作者:LuiseDalian 时间:2014-03-29 08:34:24 0 删除 编辑

子程序参数传递方法

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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5569020