バックグラウンド - エクスポートされたCSVデータセットがインポートされ、新しいシステムに移行されました。私は新しいシステムでは必要ないので、このデータセットに識別IDはありませんが、このCSVに追加のデータを追加する必要があります。csvのテキスト値に対する結合によるOracleの更新
私はCSVをOracleテーブルにインポートし、2つの新しい列、FieldLabelEDRNとELEMENTIDを作成しました。私はので、私は、ORA-00907エラーが発生し、次の
UPDATE EDRN_NEW.DATADIC
SET FIELDLABELEDRN =
(SELECT short_name
FROM edrn.md$$_all_data_elements
WHERE active_yn = 'YES'
ORDER BY short_name
),
SET ELEMENTID =
(SELECT element_id
FROM edrn.md$$_all_data_elements
WHERE active_yn = 'YES'
ORDER BY short_name
)
を試してみました、元のテーブルから関連データと、それらの2列を更新したいと私はそれが非常に基本的なことを知っています。私は必要な価値を得る方法を考えるのに苦労しています。私はまた、2つのテーブルをshort_name =フィールドのラベルにまとめて、element_idをプルするだけでしたが、本当に必要ですが、OracleでUPDATEでJOINを使用できないことに慣れていません
アドバイス/提案をいただければ幸いです。
あなたは、彼らが@GordonLinoffコメントに加えて。 –
に行くの行に新しい値を一致させるいくつかの方法を必要とする、あなたの構文が間違っている、 'SET'は一度だけ使用する必要があります。 – sagi
関連性はありませんが、 'set(FIELDLABELEDRN、ELEMENTID)=(select short_name、element_id from ...) 'というサブ・セレクトだけを使用してパフォーマンスを向上させることができます - サブセレクトの' order by'は役に立たないしかし、 –