カーソルである戻りパラメーターが 1 つだけある Oracle ストアド プロシージャがあります。PDO コンポーネントを使用してそれを抽出するにはどうすればよいですか?
現在書いているコードは次のとおりです:
$dbconn=new PDO($dsn,$user,$pwd);$strsql="begin pk001.pr001(:rc); end";$dbsear=$dbconn->prepare($strsql);$dbsear->bindParam(":rc", $rc,PDO::PARAM_LOB );$dbsear->execute();print_r($rc);
pk001 はパッケージ名、pr001 はパッケージ内のストアド プロシージャ名です。 rc は戻りパラメータです。
実行
begin pk001.pr001(rc => :rc);
戻り値は PL/SQL ツールで確認できます。
変数タイプ
値
rc Cursor 5af66905831571b10929ab069053b29c , 最後に、5af66905831571b10929ab069053b29c の右側にある... ボタンをクリックすると、カーソルによって展開されたデータが表示されます。
PDO を使用してカーソル内のテーブル データを 2 次元配列に埋めるにはどうすればよいですか?
ディスカッションへの返信 (解決策)
$dbsear->execute();
do { $res[] = $dbsear->fetchAll(PDF::FETCH_ASSOC); }where($dbsear->nextRowset());
の後
これは一般的なコードです
ストアド プロシージャが結果セットのみを返す場合は、 do .. . whileループ