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

パラメータを使用したPHP-OCI呼び出しストアドプロシージャ

    foreachの使用 私の答え からのアプローチ ストアドプロシージャを扱うときは、別の質問に答えるのは得策ではありません。

    それが機能している間(あなたの質問に示されているように、変数は$paramsで設定されます 実行後の配列)最大の問題は、4番目のパラメーター(maxlength)を指定する必要があることです。 )からoci_bind_by_name32の静的な値を使用しました コード内にありますが、値の長さがこれを超えるとエラーが発生します。実行時に計算することはできず、非常に大きな値に設定するのは非効率的です(おそらく、これはアプリケーションにとって問題ではありません)。

    既知のストアドプロシージャを実行しているため、maxlengthを知っておく必要があります。 設計時の出力値の数であり、これらはすべてのoci_*を配置することで静的に入力できます。 getHours()の関数 、customExecute()へのすべての呼び出しを抽象化しようとする代わりに 。




    1. 外部キー制約を組み合わせたmysqldbcopy?

    2. 転送用のデータベースのエクスポート

    3. OracleREGEX_SUBSTRがnull値を尊重しない

    4. Microsoft Access 2010、2013、2016、および2019を使用した構造化照会言語(SQL)の操作