sql >> データベース >  >> RDS >> Oracle

sqlplusからストアドプロシージャを呼び出す

    プロシージャの2番目のパラメータはOUTです。 パラメータ-その値は、プロシージャの完了時に渡される変数に割り当てられます。したがって、このパラメータにリテラル値を使用することはできません。

    SQLPlusプロンプトでバインド変数を宣言し、それを使用できます。

    -- Declare bind variable
    VARIABLE x NUMBER
    
    -- If necessary, initialize the value of x; in your example this should be unnecessary
    -- since the value of the second parameter is never read
    EXEC :x := 1
    
    -- Call the procedure
    EXEC testproc(12, :x)
    
    -- Print the value assigned to the bind variable
    PRINT x
    

    または、匿名のPL/SQLブロックを使用することもできます。

    -- Activate client processing of dbms_output buffer
    SET SERVEROUTPUT ON
    
    -- In anonymous block, declare variable, call procedure, print resulting value
    DECLARE
      x NUMBER;
    BEGIN
      testproc(12, x);
      dbms_output.put_line( x );
    END;
    /
    



    1. 単一のmysqliクエリに挿入されたすべての行のinsert_idを取得します(複数の値)

    2. node-pgのテーブル名として変数を使用するにはどうすればよいですか?

    3. ロードバランサーを介してデータベースコンポーネントを高可用性(HA)にする

    4. SQLで数値を丸める方法