MERGE_(SQL)
[Wikipedia|▼Menu]

MERGEステートメントは、条件に応じてUPDATEまたはINSERTを実行する。UPDATEとINSERTを組み合わせた操作を行うことから、UPSERTという別名を持つ。
標準の構文

SQL:2003において標準SQLに導入された構文を以下に示す。 MERGE INTO 主表 USING 副表 ON (条件) WHEN MATCHED THEN UPDATE SET 列1 = 値1 [, 列2 = 値2 ...] WHEN NOT MATCHED THEN INSERT (列1 [, 列2 ...]) VALUES (値1 [, 値2 ...])

以下のデータベースなどでサポートされている。

Oracle Database[1]

DB2[2]

Microsoft SQL Server[3]

Firebird[4]

PostgreSQL[5]

非標準の構文

データベース製品の中には、標準とは異なる構文で同様の機能を提供しているものもある。

MySQLはINSERT ... ON DUPLICATE KEY UPDATEおよびREPLACE構文を採用している[6][7]

PostgreSQLはINSERT ... ON CONFLICT構文を採用している[8]

SQLiteはINSERT OR REPLACE INTOおよびREPLACE構文を採用している[9]

脚注^ “ ⇒MERGE”. Oracle Database SQL言語リファレンス. 2009年9月23日閲覧。
^ “ ⇒MERGE ステートメント”. DB2 Version 9 for Linux, UNIX, and Windows. 2009年9月23日閲覧。
^ “ ⇒MERGE (Transact-SQL)”. SQL Server 2008 オンライン ブック. 2009年9月23日閲覧。
^ “ ⇒MERGE”. Firebird 2.1 Language Reference Update. 2009年9月23日閲覧。
^ “MERGE”. PostgreSQL: Documentation: 15. 2022年10月17日閲覧。
^ “ ⇒INSERT ... ON DUPLICATE KEY UPDATE Syntax”. MySQL 5.1 Reference Manual. 2014年12月8日閲覧。
^ “ ⇒REPLACE Syntax”. MySQL 5.1 Reference Manual. 2014年12月8日閲覧。
^ “INSERT”. PostgreSQL 9.6.5文書. 2019年2月8日閲覧。
^ “ ⇒INSERT”. SQL As Understood By SQLite. 2009年9月23日閲覧。










データベース管理システム


データモデル

関係モデル

データベース設計

正規化

参照整合性

関係代数

関係論理

データベース管理システム

関係データベース管理システム

オブジェクト関係データベース

分散データベース

トランザクション処理

概念
データベース

ACID

CRUD

3値論理NULL

候補キー

外部キー

主キー

スーパーキー

代理キー

オブジェクト

関係 ()

ビュー

トランザクション

ログ

トリガ

索引

ストアドプロシージャ

カーソル

分割

SQL

SELECT

INSERT

UPDATE

MERGE

DELETE

JOIN

CREATE

DROP

COMMIT


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:10 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef