Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (P ~ Z)

 

ROLLBACK TRANSACTION 文 [T-SQL]

この文は、SAVE TRANSACTION の後に加えられた変更をキャンセルするために使用します。

構文
ROLLBACK TRANSACTION [ savepoint-name ]
備考

ROLLBACK TRANSACTION 文は、SAVE TRANSACTION を使用してセーブポイントが作成されてから加えられた変更を取り消します。SAVE TRANSACTION の前に加えられた変更は取り消されず、そのまま残ります。

savepoint-name は、現在のトランザクションの SAVE TRANSACTION 文で指定された識別子です。savepoint-name を省略すると、未処理のまま残っている変更がすべてロールバックされます。指定したセーブポイントの後にあるセーブポイントは自動的に解放されます。

パーミッション

現在のトランザクションに、対応する SAVE TRANSACTION を入れておいてください。

関連する動作

なし

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の例は、値 10、20 などの 5 つのローを表示します。DELETE の効果は ROLLBACK TRANSACTION 文によって取り消されますが、前の INSERT または UPDATE の効果は取り消されません。

BEGIN
    SELECT row_num INTO #tmp 
    FROM sa_rowgenerator( 1, 5 ) 
    UPDATE #tmp SET row_num=row_num*10
    SAVE TRANSACTION before_delete
    DELETE FROM #tmp WHERE row_num >= 3
    ROLLBACK TRANSACTION before_delete
    SELECT * FROM #tmp
END