-1

パッケージを使用して、プロシージャ内の変数割り当てを別のプロシージャのパラメータに渡すにはどうすればよいですか?

4

2 に答える 2

2

グローバル変数について疑問に思っているのか、それとも OUT パラメータの仕組みについて疑問に思っているのかわかりません。プロシージャの OUT パラメータの使用例を以下に示します。IN と OUT の使用に関する詳細については、こちらを参照してください。

create or replace package TEST_PKG
IS
    procedure test(p_input IN NUMBER, p_output OUT NUMBER)
    IS
    BEGIN
        p_output := p_input * p_input;
    END test ;

    procedure testRun
    IS
        v_input NUMBER := 0;
        v_output NUMBER;
    BEGIN
        test(v_input, v_output);
        DBMS_OUTPUT.PUT_LINE('OUTPUT : ' || v_output );
    END test ;
END xyz;
于 2012-06-21T00:09:13.653 に答える
1
create or replace package xyz
IS
  procedure test 
  IS
   v_temp varchar2(20); --local variable
  BEGIN
    v_temp:=20; --assigning value to a variable

  --if procedure is within the same package,as this example shows ,then call as below  
  test2(v_temp);

  --if procedure is in another package say PQR then call as below,
  --but the procedure should be declared in the specification of the package PQR
  PQR.test2(v_temp);  

  --if procedure is not inside any package ,just a single procedure is there
  --,then call as below
  test2(v_temp);

   END test ;

   procedure test2(p_temp IN varchar2)
   IS
   BEGIN
   --do you processing
   END test2;
 END xyz;

お役に立てれば

于 2012-06-20T18:25:32.287 に答える