0

私はオラクルが初めてで、コードのSQLブロックから出力パラメータを読み取る際に問題があります。多くのマニュアルやチュートリアルを検索しましたが、それでも自分で解決できません。

$sql = "declare
        A varchar2(16);
        docs.InsT(...);
        end;";
$stid = oci_parse($conn, trim($sql));
oci_execute($stid);
oci_commit($conn);

A の値が必要ですが、名前を変更できません。

助けてくれてありがとう。

4

1 に答える 1

0

PHP 内で「A」の値を読み取ろうとしている場合は、バインド変数を使用する必要があります。また、バインド変数を参照として渡す必要があります。また、 A 変数の名前を変更できないため、次のようなことができます...

$rVal = '';
$sql = "declare
        A varchar2(16);
        docs.InsT(...);
        :rVal := A;
        end;";
$stid = oci_parse($conn, trim($sql));
oci_bind_by_name($stid, ':rVal', &$rVal, 16);
oci_execute($stid);
oci_commit($conn);
var_dump($rVal);

$rValには、 oracle からのAの値が含まれるようになりました。

于 2011-06-20T15:59:44.023 に答える