問題タブ [sys-refcursor]

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 投票する
3 に答える
6449 参照

asp.net - ASP.NET GridView を Oracle SYS_REFCURSOR にバインドする

Oracle には、ASP.NET GridView コントロールにバインドするデータを返す SYS_REFCURSOR 出力パラメーターを持つプロシージャがあります。以前にこれが行われたのを見たことがありますが、問題を解決するために使用した元の参照が見つかりません。

手順は次のようになります。

そして今のところ、GridView は必要最小限のものです。

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

oracle - Oracle 参照カーソルを返し、複数の結果を追加する

私はこの問題を抱えています。誰かが答えを知っていることを願っています。顧客 ID を受け取り、すべての顧客の注文を ref_cursor に返す Oracle ストアド プロシージャがあります。それを単純化しすぎて、これは私が持っているものです:

ここで、顧客名を受け取り、LIKE クエリを実行してすべての custId を取得する別のプロシージャを作成する必要があります。次に、GetOrder メソッドを再利用して、見つかった custId のすべての注文を返す必要があります。次のようになります。

私の質問は、各反復で GetOrder の戻り値を curReturn に追加するにはどうすればよいですか? 現在書かれているように、ループの各サイクルで上書きされます。ありがとう!!

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

oracle - OracleカーソルとJDBCODBC

OUTREFCURSORパラメーターを持つデータベースで実行するいくつかのプロシージャがあります。

JDBCシンクライアントに接続しているときは、すべて正常に動作します。ただし、同じデータベースを指すODBCデータソースを参照するように接続文字列を変更すると、これらの手順は失敗します。ただし、OUTREFCURSORを使用しない手順でも正常に機能します。

この状況は私の側のエラーの結果ですか、それとも予想されますか?

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

c# - C# から DB2 ストアド プロシージャを呼び出す方法は?

Linux 用の DB2 9.7 を使用しています。ストアド プロシージャは PL/SQL (Oracle のプログラミング言語) で実装されているため、レコード セットは出力パラメーター (SYS_REFCURSOR) です。

C# コードでこのパラメーターを宣言する方法がわかりません。

0 投票する
5 に答える
160637 参照

oracle - Oracle SQL Developer を使用してストアド プロシージャを実行するにはどうすればよいですか?

* EDIT6: *これは私のために働いたものです (受け入れられた回答から):


SQL 開発者はこれを非常に難しい/不可能にしていますか?. ユーティリティがコマンドライン ベースかどうかは気にしません。すぐに実行して表示できるようにしたいだけです。エラーもうまくキャプチャできればいいのですが。一度にすべてを指定するだけでなく、徐々に(対話的に)ログインできると便利です(典型的なftp / sftp cmdベースのクライアントの動作に似ています)。

私のプラットフォームは Windows Server 2008 + Cygwin です。

編集:おそらく、Python を使用してこれをスクリプト化する方法を知っているでしょうか?

編集 2: MSFT SQL サーバーでは、次のように入力するだけです。

それを強調表示して F5 を押すと、次のようになります。

出力ウィンドウに出力されます。Oracle SQL 開発者は、これについてはまったく役に立ちません。1 を渡す方法がわかりません。返される実際の行/レコードを確認する方法がわかりません。

EDIT3:入力しvar rc refcursor;て選択して実行すると、次のエラーが発生します(GUI):

EDIT4:

定義が次のように始まるプロシージャを実行しようとしています。

エラーが発生します:

私はとても近くにいます...助けてください。

* 編集 5: *

私が実行しているスクリプト(機能的には同じ)、エラーは常に同じでした:

スクリプト出力 (F5) (複数の実行からの複数のメッセージである可能性があります):

1行目、134列目と表示されているのはなぜですか? そこまで線が伸びていない...

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

oracle - NHibernate を使用して Oracle ストアド プロシージャから複数の結果セット/SYS_REFCURSOR を処理する方法

NHibernate (v2) を取得して、単一の結果セットを含む単一の SYS_REFCURSOR を返して処理することができます。NHibernate で複数の結果セット/SYS_REFCURSOR を使用することは可能ですか? SYS_REFCURSOR から複数の結果セットをマップする .hbm.xml ファイルの構文は何ですか?

ありがとう。

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

c# - ODP .NET SYSREFCURSOR 出力を取得します。{"サポートされていない列のデータ型"} エラー

ストアド プロシージャを返すプロシージャを実行しようとしています。Oracle DB のバージョンは 9.2 で、ODP .NET のバージョンは 10.2.0.100 です。

私のC#コードは次のようになります。

私のOracleプロシージャコードは次のようになります

コードを実行すると、GetReader() を試行した部分が失敗し、UNSUPPORTED COLUMN DATATYPE エラー メッセージが表示されます。

0 投票する
3 に答える
22043 参照

sql - OracleSQLDeveloper-インデックスにINまたはOUTパラメータがありません::1

OracleSqlDeveloperでこの単純なストアドプロシージャをテストするのに問題があります。ストアドプロシージャは単純な選択を実行し、カーソルを返します。


この手順をテストするために、次のスクリプトを使用しました。


oracleとSqlDeveloperツールの両方に慣れていないので、ここでの間違いを理解するのに苦労しています。パスワードがないため、Sql*Plusでこれを確認できません。Oracle SqlDeveloper1.1.2.25とOracle10gを使用しています。

誰か助けてくれませんか?前もって感謝します。

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

oracle - Quick-n-dirtyの結果:SQLワークシートにProcedure OUTカーソルの結果を表示しますか?

プラットフォーム:Oracle
言語:PL / SQL
問題:プロシージャOUTカーソルをSQLDeveloperSQLWosksheetに出力したい。

Oracleの「Select*from Table(PipelinedFunction(Param))」を使用してプロシージャコードの出力カーソルを確認する方法を知っている人はいますか?

OracleストアドプロシージャからCrsytalReportsを使用しています。Crystalでは、プロシージャがカーソルを返す必要があり、カーソルをフェッチして読み取ります。

私が持っているプロシージャコードは現在機能していますが、プロシージャコードへの変更の影響を表示する最も簡単な方法を見つけたいと思います。SQLDeveloperを利用でき、その中で作成とSQLテストを行っています。SQL Developerのクエリ結果ウィンドウ(「SQLワークシート」)にすばやく結果を表示したいと思います。

関数を使用してプロシージャからカーソルを読み取る(簡単な)方法はありますか?(そしてそれをTable関数にパイプしますか?)

複雑なことはわかっていますが、コード変更の結果を確認できる場合に最もうまく対処します。記録結果を直接見ることができれば、報告書の作成がスピードアップします。

Table関数と、Oracleでのパイプライン化について少し知っています。一般的なカーソルとsys_refcursorについて少し知っています。私はタイプについて、そしてなぜそれらが必要なのかをよく知っています。(sys_regCursorは私たちをそれから遠ざけることになっているのではありませんか?)

現在のプロシージャは、適切ではあるが適切ではない一連のクエリを実行し、グローバル一時テーブル(GTT)に挿入し、GTTと元のテーブルから結合し、挿入を増やし、自己結合を増やしてから、結果をOUTカーソルに選択します。カーソルなどだけに頼るほうがいいかもしれませんが、現在の方法でレポートに結果を出すことができます。

私は(私たちの目的のために)SQLをかなりうまく処理できると思いますが、私はOracle固有の開発者ではありません...しかし、助けが必要です。

誰かがこれに出くわしますか?全体的なアイデアは、プロシージャコードの開発をスピードアップすることでしたが、出力を取得する方法を探すために2、3日を費やしました...私が考えていたものではありません。

更新:
私はウェブ上で見たスライバーに基づいたいくつかの頭の悪いスキームを試しました...など

Oracleは、プロシージャからの出力カーソルを再参照することを検討しているとは思いません( "Results"は、プロシージャの最後のSELECTの結果を保持するsys_refcursorです)。それを定義し、開いて、手順から参照する方法がわかりません。

試すことができる場所にたどり着きませんでした

タイプミスやOracleGrammarの不良については申し訳ありませんが、数日が経ちました。

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

oracle - Anther から 1 つのストアド プロシージャを呼び出し、返された refcursor を変更する方法は?

私は 2 つのストアド プロシージャを持っていp_proc1ますp_proc2p_proc1は refcursor を返し、そのデータを で使用したいと考えていますp_proc2。データセットを呼び出しp_proc1p_proc2変更することは可能ですか (別のテーブルの外部結合)? データベースはオラクルです。