例: MERGEを使用した更新と挿入 - Teradata Vantage NewSQL Engine - Teradata Database - 例: MERGEを使用した更新と挿入

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
ft:locale
ja-JP
ft:lastEdition
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

この例では、employeeテーブルの行に動的に供給される値を使用して、データが既存の従業員とマッチする場合にはテーブルを更新し、データが既存の従業員とマッチしない場合にはテーブルに新規の行を挿入します。列empnoは、employeeテーブルの固有プライマリ インデックスです。

この例は、以下に示すUPDATE文のupsert形式として記述することもできます。UPDATE (Upsert形式)を参照してください。

     USING (empno  INTEGER,
            name   VARCHAR(50),
            salary INTEGER)
     UPDATE  employee
       SET salary=:salary
       WHERE empno=:empno
       ELSE INSERT INTO employee
         (empno, name, salary) VALUES ( :empno, :name, :salary);