0

4列しかないテーブルがあります

最初の列 - 別のテーブルの各行の連結された列の値。列は、メタデータ テーブルの列 ID に基づいて連結されます。連結の順序は、列 ID の順序と同じです。2 番目の列 - コンマ区切りの主キー列があります。ここで、2 番目の列の主キーに基づいて、3 番目の列を更新する必要があります。これにより、最初の連結フィールドのそれぞれから主キーの値が取得されます。

4列_テーブル名があります。

私はカーソルと文字列関数を使用しており、完全に正常に動作しますが、膨大な数のデータをテストしたところ、失敗し、パフォーマンスが非常に低下しました。

同じ更新クエリを 1 つだけ教えてください。

異なるデータベース内の 2 つのテーブル間でデータを比較する比較ツールがありますが、データ構造は同じで、一致しない行をすべての列が連結された (パイプで区切られた) テーブルにダンプします。列は列の順序と同じです。 id と私はそのテーブルの主キーを知っています(連結されていますが、パイプで区切られています)。したがって、このデータに基づいて、データの不一致がある主キーの値を抽出する必要があります。

私は何かをする必要があります

列 4 を更新します (列 2 から抽出されたパイプ区切りの主キー値)

4

1 に答える 1

0

このLINKを確認してください。役に立つかもしれません。そのクエリを使用すると、値を必要な文字と連結できます (これは 11g2 バージョンで機能し、以前のバージョンでは xmlagg 、 xmlelement、extract メソッドを使用します)。

CREATE TABLE TEST(
  FIELD INT);

INSERT INTO TEST VALUES(1);
INSERT INTO TEST VALUES(2);
INSERT INTO TEST VALUES(3);
INSERT INTO TEST VALUES(4);

SELECT listagg(FIELD,',' ) WITHIN GROUP (ORDER BY FIELD)
FROM TEST

「1,2,3,4」を返します

于 2013-06-27T20:08:29.227 に答える