QA@IT

SQL文の更新処理を教えてください(Oracle 12C)

11847 PV

2つのユーザー:user1の「TABLE1」と、user2の「TABLE2」という表があります。
TABLE1のカラムは、pk1(主キー), pk2(主キー), pk3(主キー), NOTE1(nvarchar2)です。
TABLE2のカラムは、pk1(主キー), pk2(主キー), NOTE2(nvarchar2)です。

user1.TABLE1
  pk1  pk2  pk3 NOTE1(varchar2)
  1   1   1   aaaaaaaaaa    ←長さ3以上
  1   2   1   bbbb    ←長さ3以上
  2   1   1   c
  2   2   1   dddddddddd    ←長さ3以上
  2   2   2   eeee    ←長さ3以上
・・・

user2.TABLE2
 pk1 pk2  NOTE2(nvarchar2)
 1   1    hhhhhh
 1   2    k
 2   1    mmmmmmmmmm
 2   2    nn
 ・・・

上記のようなテーブルが2つあるとき、user1.TABLE1のNOTE1の長さが3以上の場合
対応する主キーのuser2.TABLE2のNOTE2末尾に、NOTE1の内容を追記するという処理を考えています。
(TABLE1で複数レコード引っかかるときは、pk1,pk2,pk3の降順に追記されていく)

上記の例だと、期待結果はTABLE2が下記になります。

user2.TABLE2
 pk1  pk2  NOTE2(nvarchar2)
 1   1    hhhhhhaaaaaaaaaa ←追記された
 1   2    kbbbb   ←追記された
 2   1    mmmmmmmmmm
 2   2    nnddddddddddeeee ←2つ追記された
 ・・・

しかしそのSQL文をどのように記述すれば良いかわからず、どなたかご教示いただけないでしょうか。

よろしくお願い致します。

ウォッチ

この質問への回答やコメントをメールでお知らせします。