PDO を使用して Oracle ストアド プロシージャを呼び出し、戻りパラメータはカーソルです。データを抽出する方法

WBOY
リリース: 2016-06-23 14:05:26
オリジナル
1428 人が閲覧しました

カーソルである戻りパラメーターが 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 , 最後に、 の右側にある... ボタンをクリックすると、カーソルによって展開されたデータが表示されます。

PDO を使用してカーソル内のテーブル データを 2 次元配列に埋めるにはどうすればよいですか?


ディスカッションへの返信 (解決策)

$dbsear->execute();

do {  $res[] = $dbsear->fetchAll(PDF::FETCH_ASSOC); }where($dbsear->nextRowset());
ログイン後にコピー
の後
これは一般的なコードです
ストアド プロシージャが結果セットのみを返す場合は、 do .. . whileループ

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート