17.10 - ROLLBACKは明示的 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

ANSIセッション モードには、暗黙のトランザクションはありません。より正確に言うと、各ANSIトランザクションは暗黙的に開始されますが、常に明示的に完了します。COMMITまたはABORT/ROLLBACKリクエストは、必ず明示的に指定しなければならず、トランザクションを正常に終了させるためには、トランザクションの最後のリクエストでなければなりません。

ANSIセッション モードでは、トランザクション内のリクエストがSELECTまたはSELECT AND CONSUMEのみの場合でも、ABORT/ROLLBACK、またはCOMMITリクエストのどれかを発行する必要があります。

SELECTリクエストの場合、COMMITまたはABORT/ROLLBACKのいずれを発行しても違いはありません。

SELECT AND CONSUMEの場合、COMMITを発行するのと、ABORT/ROLLBACKを発行するのとでは出力に違いがあります。これは、ABORTまたはROLLBACKリクエストはリクエストの対象のキュー テーブルを以前の状態に回復し、これにはアボートされたSELECT AND CONSUMEリクエストで擬似的に消費された行も含まれるからです。