PLSQL Language Reference-PL/SQL子程式-子程式引數-子程式引數傳遞方法

LuiseDalian發表於2014-03-29

子程式引數傳遞方法

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章