Atomic UPSERT - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
16.20
Published
2018年10月
Language
日本語
Last Update
2019-02-12
dita:mapPath
ja-JP/fxv1527114222338.ditamap
dita:ditavalPath
ja-JP/fxv1527114222338.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

UPSERTはUPDATEとINSERTの操作を合成したもので、テーブル内の単一の行に適用され、目的の行が存在しないためUPDATEに失敗した場合、INSERTが自動的に実行されます。

UPSERTのような機能はTeradata TPumpやTeradata MultiLoadなどのユーティリティで以前はサポートされていましたが、実装は2つの処理を一度に行なっていました(まずUPDATEを行ない、これに失敗した場合にはINSERTを実行)。UPSERTのようなクエリーのパフォーマンスを向上させるため、Atomic UPSERT機能がサーバーで実装されました。

Teradata DatabaseのUPSERT SQLをサポートするため、ODBC Driver for Teradataが拡張され、Teradata Tools and Utilitiesの新機能のサポートが追加されました。UPSERTでは、すべてのクライアント アプリケーションでこのUPSERT機能を単一クエリー(ワンパス ストラテジー)として使用できるため、TPumpやMultiLoadのバッチ ロジックと比較するとより高いパフォーマンスが得られます。

ODBC Driver for Teradataは、Teradata Databaseとの接続を確立する際に、Teradata DatabaseがUPSERT機能をサポートしているかどうかを判断します。データベースがUPSERT機能をサポートしていない場合、アプリケーションが送信したUPSERT文は、次のような一般エラーをアプリケーションに返します。

("UPDATE..ELSE..INSERT (UPSERT) is not supported by Database").