ORACLE pt.4 【PL/SQL でカンマ区切り文字列を行データに変換】


カンマ区切り文字列を取得、または、生成し、それを EXISTS や IN句利用、または、内部結合とか出来て便利ですよね。
そんな訳で、サンプルを備忘記録として...。

update T_HOGEHOGE
   set UPDATE_USER = 'ichibanblo'
      ,UPDATE_DATE = sysdate
 where REG_YM in (-- カンマ区切り文字列を行データに変換
                  select REGEXP_SUBSTR ( arg_KanmaList, '[^,]+', 1, LEVEL ) from dual
                  CONNECT BY REGEXP_SUBSTR ( arg_KanmaList, '[^,]+', 1, LEVEL ) is not null
                 )
;
-- とか
  from t_tbl
 INNER JOIN ( select REGEXP_SUBSTR ( arg_KanmaList, '[^,]+', 1, LEVEL ) as code  from dual
                     CONNECT BY REGEXP_SUBSTR ( arg_KanmaList, '[^,]+', 1, LEVEL ) is not null
            ) C
         on C.code = t_tbl.key1