Atomic UPSERT - ODBC Driver for Teradata

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

Product
ODBC Driver for Teradata
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/wxs1608578396899.ditamap
dita:ditavalPath
ja-JP/wxs1608578396899.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機能がサーバーで実装されました。

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

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

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