Oracle-Merge(行の挿入と更新を 1ステートメントで行う)

参考URL

 http://www.shift-the-oracle.com/sql/merge.html

 

MERGE INTO USER_MASTER
USING USER_MASTER_IMPORT
ON ( USER_MASTER.USER_ID = USER_MASTER_IMPORT.USER_ID)
-- 既存レコードの更新
WHEN MATCHED THEN
	UPDATE SET
		USER_NAME = USER_MASTER_IMPORT.USER_NAME,
		DEPT_NO = USER_MASTER_IMPORT.DEPT_NO,
		MODIFIED_ON = SYSDATE
-- 新規レコードの作成
WHEN NOT MATCHED THEN
	INSERT
		( USER_ID, USER_NAME, DEPT_NO )
	VALUES
		( USER_MASTER_IMPORT.USER_ID,
		USER_MASTER_IMPORT.USER_NAME || '(新人)',
		USER_MASTER_IMPORT.DEPT_NO )
カテゴリー: 未分類   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>