例: プライマリ インデックス上のアップサート - Teradata Database - Teradata Vantage NewSQL Engine - 例: プライマリ インデックスでのUPDATEアップサート

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

以下の例は、リクエストのUPDATE部分とINSERT部分で同じプライマリ インデックス値を指定していないupsert UPDATEリクエストを示しています。

     UPDATE sales
     SET item_count = item_count + 1
     WHERE (item_nbr = 10
     AND    sale_date = '05/30/2000')
     ELSE INSERT INTO sales (20, '05/30/2000', 1);

UPDATEとINSERTに指定するプライマリ インデックス値は同じでなければなりません。そうしないと、次のような2つの別々の行が操作で調べられます。一方はUPDATEの行で、もう一方はINSERTの行です。これは、upsert形式のUPDATEの目的に反します。

10および20と指定されているプライマリ インデックス値は同じではないので、UPDATEとINSERTのどちらでもプライマリ インデックス値は同じでなければならないことを知らせるエラーがユーザーに返されます。