問題タブ [resultset]
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.
oracle - データベースリンクを介したResultSet/RefCursorの取得
dblinkを介してストアドプロシージャを呼び出すための回答から、リモートDBリンクを介してSP呼び出しを行っている場合、ストアドプロシージャを呼び出してResultSet/RefCursorを取得することはできないようです。Oracle10gも使用しています。
リンク全体で単一値の結果を正常に取得でき、SPを正常に呼び出してローカルで結果を取得できますが、リモートDBからResultSetを読み取るときに、同じ「ORA-24338:ステートメントハンドルが実行されません」というエラーが発生します。
私の質問-ストアドプロシージャを使用するための回避策はありますか?共有ビューはより良い解決策ですか?パイプ行?
サンプルストアドプロシージャ:
ローカルでは機能するがリモートでは機能しないサンプルJavaコード:
java - 結果セットを閉じた後、Oracle がカーソルを削除しない
注: 単一の接続を再利用します。
sql-server - ストアド プロシージャの結果としての SQL Server カーソル データ
ストアドプロシージャがあります
しかし、結果として、1つではなく、たくさんのテーブルがあります。「FooData」列とすべての「@CurrFooData」行を含む 1 つのテーブルを返すにはどうすればよいですか?
oracle - Oracleの動的SQLから結果セットで結果を取得する
この質問は、StackOverflowで見つけた他のいくつかの質問と似ていますが、その違いは、新しい質問を正当化するのに十分なほど重要なので、ここにあります。
Oracleの動的SQLから結果セットを取得し、動的SQLステートメントを直接実行したかのように、それをSqlDeveloperのようなツールに結果セットとして表示したいと思います。これはSQLServerでは簡単なので、具体的には、SQL ServerManagementStudioまたはクエリエクスプローラーで結果セットを返すSQLServerの例を次に示します。
またはより適切に:
「動的SQLを実行するOraclePL/SQL匿名ブロックから結果セット/カーソルを返す方法」という質問。問題の前半、つまり動的SQLをカーソルに実行することで対処します。「Oracleプロシージャが結果セットを返すようにする方法」という質問でも、同様の答えが得られます。Web検索により、同じテーマの多くのバリエーションが明らかになりました。これらはすべて、私の質問の前半にのみ対応しています。この投稿を見つけましたSqlDeveloperでそれを行う方法を説明しますが、それはSqlDeveloperの機能のビットを使用します。私は実際にカスタムクエリツールを使用しているので、SQLコードに自己完結型のソリューションが必要です。このカスタムクエリツールにも同様に、print(dbms_output.put_line)ステートメントの出力を表示する機能はありません。結果セットのみを表示します。これは、「executeimmediate ... Bulkcollect」を使用するもう1つの可能な方法ですが、この例でも、dbms_output.put_lineステートメントのループを使用して結果をレンダリングします。このリンクはトピックに対処しようとしますが、質問はそこでも完全に答えられることはありませんでした。
これが可能であると仮定して、もう1つの条件を追加します。関数やプロシージャを定義せずにこれを実行したい(DB権限が制限されているため)。つまり、動的SQLを含む自己完結型のPL / SQLブロックを実行し、SqlDeveloperまたは同様のツールで結果セットを返したいと思います。
要約すると:
- 任意のSQLステートメント(したがって動的SQL)を実行したい。
- プラットフォームはOracleです。
- ソリューションは、プロシージャや関数のないPL/SQLブロックである必要があります。
- 出力は、正規の結果セットとして生成する必要があります。印刷ステートメントはありません。
- 出力は、SqlDeveloperの特別な機能を使用せずに、結果セットとしてSqlDeveloperでレンダリングする必要があります。
助言がありますか?
c# - SQLCEResultSetの結果ビューをdatatableに変換します
sqlceresultset.resultviewをdatatableに変換することは可能ですか?
java - 結果セットに1行以上あるかどうかを確認する方法は?
結果セットにJDBCで1行以上あるかどうかを確認するには?
java - Javaのファイルから結果セットを作成できますか?
結果セットの操作経験はあまりありませんが、ResultSetはインターフェイスであるため、ファイルをバックエンドとして操作するように実装できると思います。これはナンセンスですか?私の問題に対してすでに与えられている解決策はありますか?
java - JDBC ResultSet から列数を取得するには?
CsvJdbc ( csvファイル用の JDBC ドライバー) を使用して csv ファイルにアクセスしています。csv ファイルに含まれる列の数がわかりません。列数を取得するにはどうすればよいですか? このための JDBC 関数はありますか? java.sql.ResultSet には、このためのメソッドが見つかりません。
ファイルにアクセスするには、CsvJdbc Web サイトの例と同様のコードを使用します。
jtable - 列が並べ替えられたときに、データベースデータで満たされたJTableが更新されていません
データベースのテーブルのデータで満たされたJTableがあり(したがって、ResultSetTableModelを使用しました)、JTableの1つの列をクリックすると、TableRowSorterを使用して行が並べ替えられます。データは問題なくjTableに表示されます。
しかし、JTableを列テーブルで並べ替え(たとえば、主キー値で並べ替える)、並べ替えられたjTableからセルを編集すると、変更される値は、列の順序付けの前にその位置にあった古いセルです。 。
例: nameとageの2つの列を持つテーブルがあるとします。私のテーブルには次のデータがあります。
JTableで名前でiを注文すると、次のようになります。
値「1」を編集すると、編集後、表は次のようになります。
JTableで位置が更新されていないようで、元の位置を考慮して値が編集されています。
mysql - 2つのテーブルを比較し、一致しない結果のみを出力するには、MYSQLクエリが必要です
データベースに2つのテーブルがあり、1つにはアイテムのリストと、これらのアイテムに関するその他の情報が含まれています。もう1つの表には、これらのアイテムの写真のリストが含まれています。
アイテムテーブルは、各アイテムに一意の識別子を与えます。これは、写真テーブルで、どのアイテムが撮影されたかを識別するために使用されます。
2番目の表の写真にリンクされていないアイテムのリストを出力する必要があります。これをどのように行うことができるかについてのアイデアはありますか?