実現したいこと
料金テーブルの追加・更新案件で、
指定した料金コードがすでに料金テーブルに登録されていればUPDATE、
まだ登録されていなければINSERTをしたいです。
私が作成したSQLはこちらになります(簡略化してあります)
MERGE INTO RYOKIN_TABLE
USING DUAL ON (RYOKIN_CODE = 'AAA')
WHEN NOT MATCHED THEN
INSERT VALUES(
SELECT
'00015', 'AAA', '2', RYOKIN_NAME, PLAN(以下省略。全カラム分値を指定)
FROM RYOKIN_TABLE WHERE RYOKIN_CODE = 'BBB'
)
;
料金テーブルから、料金コードBBBのレコードを参考に料金コードAAAのレコードを追加/更新するというものです。
INSERT時に直接値を指定 & 指定しないものは料金コードBBBのものから取得するという要件があり、このようなINSERT文になっております。
このMERGE式で料金コードAAAの値がすでに登録されているか判定し、条件分岐をしようと試みたのですが、どうしてもうまくいきません。
今は追加は考えずINSERTのみで作っています。
INSERTが動けばUPDATEも追加する予定です。
長文駄文で恐縮ですが、どなたかご教示いただけませんでしょうか。
こちらOracleでツールはA5M2を使用しております。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/31 01:29