Teradataモードのトランザクションには、暗黙的トランザクションと明示的トランザクションがあります。明示的な、つまりユーザーが生成するトランザクションとしては、1つ以上の要求を1組のBEGIN TRANSACTION文とEND TRANSACTION文で囲んだものがあります。その他の要求は、すべて暗黙的トランザクションです。
以下のトランザクションについて考えてみます。
BEGIN TRANSACTION; DELETE FROM Employee WHERE Name = ‘Smith T’; UPDATE Department SET EmpCount=EmpCount-1 WHERE DeptNo=500; END TRANSACTION;
BEGIN TRANSACTION文とEND TRANSACTION文の間にあるDELETE文またはUPDATE文の処理中にエラーが発生した場合には、Employee表とDepartment表の両方がトランザクションの開始前の状態に復元されます。Teradata トランザクションの処理中にエラーが発生した場合は、トランザクション全体がロールバックされます。