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

Unix Korn シェル スクリプトで Oracle SP Out Param SYS_REFCURSOR からデータをフェッチする

    print return_val があります 間違った場所に; ref カーソル変数を出力するために、終了する前に SQL*PLUS コマンド内にある必要があります。

    return_val のプレフィックスも必要です 宣言したばかりのバインド変数を使用していることを示すために、プロシージャ呼び出しにコロンを付けますが、宣言から変数の型も省略しました。これはあなたが望むことをするようです:

    function runproc
    {
        #read ref cursor from proc
        cur=`sqlplus -s $connectiondetails <<EOF
            SET PAGESIZE 0 FEEDBACK ON VERIFY OFF HEADING OFF ECHO OFF
            var return_val refcursor
            exec myproc_retcur(14, :return_val);
            print return_val
            EXIT
            EOF`
        return cur
    }
      

    WEEKNUMの場所が表示されていません から来ているので、今のところそれを数字にハードコーディングしました.

    ちなみに、フィードバックをオンではなくオフに設定したいと思うでしょう。




    1. Laravelに存在しない場所

    2. パッケージにOracleの状態があるかどうかを判断する方法はありますか?

    3. mysql_num_rows()は、パラメーター1がリソースであり、ブール値が指定されていることを想定しています。

    4. 結果の列名を知らなくてもSQL Server Pivotできますか?