問題タブ [bulk-collect]
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.
sql - 動的クエリを使用して単一の列をフェッチする
単一の列を配列にフェッチしたい。次のコードを使用しています
次に、クエリは次のようなものです
そして、私はそれを取得しようとしています
しかし、これについてはエラーが発生していますError(1526,25): PLS-00597: expression 'ar_column' in the INTO list is of wrong type
sql - 実行時の Oracle 動的テーブルの作成
検索エンジンを試してみます。テキストコンテキストを含むテーブルがあり、クエリに応じて適切なレコードをいくつかフェッチしています。実行時に動的に作成されたテーブルに、この作成された id のテキストを転送したいと考えています。私のSQLコードは次のとおりですが、このエラー
SQL
oracle - 「更新用」を使用した一括収集
BULK COLLECT を使用して Oracle (11g) でレコードを処理しているときに、興味深い予期しない問題に遭遇しました。
次のコードは問題なく実行され、100 万以上のすべてのレコードを問題なく処理しました。
100 レコードの各グループ (上限は 100) の処理の最後に、読み取って処理したばかりのレコードを削除するので、カーソル定義に「for update」構文を追加して、別のプロセスが実行できるようにすることをお勧めします。データが読み取られてからレコードが削除されるまでの間、レコードを更新しないでください。
だから、私が変更した唯一のコードは…</p>
この変更後に PL/SQL パッケージを実行すると、ジョブは 100 レコードしか処理せずに終了します。カーソルから「for update」を削除することで、この変更が問題の原因であることを確認し、もう一度パッケージがソース テーブルのすべてのレコードを処理しました。
「for update」句を追加すると、この動作が変化する理由はありますか? この問題を回避する方法について何か提案はありますか? プロセスの開始時にテーブルで排他的トランザクションを開始しようとしていますが、データを処理するテーブル全体をロックしたくないため、これは解決策ではありません。
よろしくお願いいたします。
許す
sql - カーソルなしの選択クエリで Bulk Collect の結果を使用する
PL/SQL は初めてで、次のような一括収集の結果を使用できるかどうか疑問に思っていました。
コンパイル時にエラーが発生しました:
PL/SQL: SQL文は無視されました
PL/SQL: ORA-00932: 一貫性のないデータ型: 予想される NUMBER が SYS_PLSQL_22223_23_1 を取得しました
ご協力いただきありがとうございます!
oracle - オブジェクトのテーブル型に一括収集
オブジェクトのテーブルにBULK COLLECT
ステートメントを使用しようとすると、エラーが発生しました。ORA-00947: not enough values
行でエラーが発生from (select jta.nobject_id,
理由は何ですか?
plsql - Bulk Collect を使用した pl sql カーソルの次のレコードにスキップする
以下のコード スニペットを分析し、カーソル内の次のレコードにスキップする方法を提案してください。
始める
sql - PL SQL では、BULK COLLECT と FORALL を使用して、この for ループを挿入でリファクタリングしたいと考えています。
パフォーマンス上の理由から、ループで挿入を行うのではなく、BULK COLLECT と FORALL を使用するように次のコードを書き直します。私が直面している問題は、ループの反復ごとに empID を生成する必要があるか、FORALL を使用するコレクションを作成するために BULK COLLECT で同様のことを行う必要があることです。
...
BULK COLLECT と FORALL の例は、ほとんどの場合、[some table] から * を選択し、そのカーソルをフェッチして BULK COLLECT を実行するカーソルを作成することで構成されているようです。しかし、次の連続する 'numberOfEmployeesToAdd' 番号の ID を使用してカーソル内で動的に値を割り当て、FORALL を実行して挿入を行う必要があります。