問題タブ [ref-cursor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1586 参照

sql - SQLナビゲーターでref_cursorなしでストアドプロシージャを実行する

私はOracleとSQLナビゲーターが初めてです。ストアド プロシージャを実行してその結果を確認する方法が見つからないようです。プロシージャは次のように作成されます。このプロシージャを SQL ナビゲーターで実行するにはどうすればよいですか。SQLナビゲーター6.7を使用しています。また、proc が out ref-cursor を使用していることにも注意してください。

PS:これは重複していると確信しています。見つからないので、正しい場所にのみリダイレクトしていただければ幸いです。

0 投票する
2 に答える
1730 参照

sql - Oracle 関数 - 返された ref_cursor からフェッチ - ORA-01001: 無効なカーソル

関数から返されたときに、PL/SQL で開いている ref_cursor からのフェッチに問題があります。return ステートメントの代わりに関数の本体にまったく同じ fetch ステートメントを入れると、正常に動作します。

匿名の plsql ブロッ​​クから呼び出すと、「ORA-01001: カーソルが無効です」というエラーが表示されます。

ただし、匿名ブロックを実際の関数に入れると、すべて機能します。下記参照:

私は周りを読んで、私がここでやっていることをしている人々の例をいくつか見つけたので、私の知る限り、これはうまくいくはずです。例えば。https://community.oracle.com/thread/888365

誰かが私がここで間違っていることを理解するのを手伝ってくれますか?

0 投票する
2 に答える
4442 参照

c# - C# - Oracle ストアド プロシージャは行なしで RefCursor を返します

ストアド プロシージャの呼び出しでは 7 行が返されますが、Oracle Managed Data Access を介して呼び出した場合は返されません。

コード :

ストアド プロシージャ

実行時 : 警告なし、エラーなし (すべてのパラメーターが有効)

私の問題:( 予想される7行ではなく)任意の行が返されますが、スキーマを取得します(列名は正しいです)。


環境 :

  • Windows x64
  • .NET フレームワーク: 4.0
  • Oracle クライアントがインストールされている (v11.2) が必要ではない
  • Oracle データ プロバイダー .NET : Oracle.ManagedDataAccess (v121.1.2)
0 投票する
5 に答える
11499 参照

java - Java で PostgreSQL から setof refcursor を返すプロシージャにアクセスするには?

PostgreSQL から setof refcursor を返すプロシージャにアクセスする必要があります。

最初のオブジェクトにはアクセスできますが、残りのオブジェクトではなく残りのオブジェクトにはアクセスできません。

これにより、最初の refcursor 値が得られますが、2 番目の refcursor を使用しようとすると、次の行を使用してエラーが発生します。

エラーが発生しています。また試しました:

これも機能しません。手順の例は次のとおりです。

2 番目のオブジェクトにアクセスする方法を教えてください。

0 投票する
2 に答える
16942 参照

oracle - Oracle 関数から参照カーソルを返す

エラーが表示されます - PLS-00382 式が間違った型です。
参照カーソルを出力として取得したい。どうすればこれができるか教えてください

誰でもこの問題を解決するのを手伝ってもらえますか?

0 投票する
1 に答える
44 参照

plsql - ストアド プロシージャをテーブルに変換して、select ステートメントで使用できるようにする

を返す既存のストアド プロシージャを使用する必要がありますREF CURSORresultsetそれを一時テーブルに挿入する必要があります。

手順の仕様は次のとおりです。

resultsetこのプロシージャをテーブルに挿入するにはどうすればよいですか。

0 投票する
1 に答える
787 参照

oracle - Oracle 11g のプロシージャで REFCURSOR 変数を OUT パラメータとして出力する際のエラー

Oracle (Oracle 11.1.0.7.0) を使用しています。パッケージ MyPackage 内にサンプル ストアド プロシージャを作成しました。この SP を作成するために、ユーザー「DBA_USER」としてログインしました。

を使用してこのSPを呼び出そうとしました

しかし、Oracle SQL Developerで次のエラーがスローされます

EDIT1:

T_CURSOR は次のタイプです。

0 投票する
2 に答える
2555 参照

postgresql - 関数からのテキスト出力を新しいクエリとして使用する

@Erwin Brandstetter と @Craig Ringer によって支援された以前のケースから継続して、次のようになるようにコードを修正しました。私の関数はテーブルではなくmyresult()now を出力することに注意してください(実際、前のケースで指摘されたように、テーブル オブジェクトを出力する意味はありません。全体の目的):text

電話:

上記の手順を実行すると、基本的にクエリであるテキスト文字列が得られます。簡単にするために、次に「oneliner-output」と呼びます。
「oneline-output」は次のようになります (ここにある 1 つの出力セルからコピー/貼り付けするだけです)。

  • ステートメントの両側の二重引用符がmyresult()出力の一部であることに注意してください。私はそれらを追加しませんでした。

「oneliner-output」を作成し、それを実行する単一の関数を構築することを考えるという問題のある考えを、今でははるかによく理解しています。「oneliner-output」を新しい Postgres クエリ ウィンドウにコピー/貼り付けして、通常のクエリとして実行し、データ出力ウィンドウで目的の列と行を受け取ることができます。
ただし、この手順を自動化して、コピー/貼り付けの手順を回避したいと考えています。Postgres で、関数textから受け取った出力 (「oneliner-output」) を使用しmyresult()て実行する方法はありますか? myresult()の出力を受け取り、それをクエリの実行に使用する2 つ目の関数を作成できますか?

これらの行に沿って、次のスクリプト (以下) が機能し、実際に目的の列と行を正確に出力することを知っています。

  • 正しい微調整を行った後、次のスクリプトのようなものが機能する可能性があるのではないかと考えていました。方法はわかりません。

    /li>

refcursor を使ってみる

電話:

この手順は実際に機能し、目的の列と行を吐き出しますが、ここでも正確な SELECT ステートメントを提供する必要があります。

私は基本的に、関数の出力として代わりに提供できるようにしたいと考えていmyresult()ます。このようなもの:

電話:

0 投票する
1 に答える
1128 参照

spring - Ref カーソルとスカラー値を返すストアド プロシージャ

私たちのアプリケーションには、ストアド プロシージャで 1 つの Ref Cursor と 1 つのスカラー パラメータ、つまりステータス コードを返すという要件があります。

現在、Spring API、つまり StoredProcedure および RowMapper クラスを使用しています。

ストアド プロシージャを実行できますが、execute メソッド呼び出しの後、Spring が RowMapper メソッド MapRow を呼び出しません。

以下は私のコードです

そして私の MultiMapperIOStoredProc コンストラクター。

私の executeStoredProc メソッド

これを機能させる方法についてのアイデア。