Adaptive Server Anywhere では、コマンドはトランザクションにまとめます。トランザクションをコミットすると、データベースの変更が永続的なものになります。データを変更しても、その変更がすぐに永続的なものになるわけではありません。変更は「トランザクション・ログ」に格納され、COMMIT コマンドを入力すると永続的なものになります。
トランザクションを開始または終了するコマンドや動作を理解すると、トランザクションを有効に使用できます。
トランザクションは次のいずれかのイベントで開始します。
データベースへの接続後、最初の文
トランザクションの終了後、最初の文
トランザクションは次のいずれかのイベントで完了します。
データベースの変更を確定する COMMIT 文
トランザクションで行われたすべての変更を取り消す ROLLBACK 文
オートコミットが実行される文。データベース定義コマンドの ALTER、CREATE、COMMENT、DROP はすべて自動的にコミットを実行します。
データベースへの接続を解除すると、暗黙的なロールバックが実行されます。
Interactive SQL は、いつ、どのようにトランザクションを終了するかを指定する次の 2 つのオプションを提供します。
AUTO_COMMIT オプションを ON に設定すると、Interactive SQL では、文が正常に実行された場合は結果が自動的にコミットされ、失敗した場合は ROLLBACK が自動的に実行される。
COMMIT_ON_EXIT オプションは、Interactive SQL を終了したときにコミットされていない変更をどうするかを決定する。このオプションを ON (デフォルト) に設定すると、Interactive SQL は COMMIT を実行し、それ以外の場合はコミットされていない変更を ROLLBACK 文で取り消します。
データ・ソースを使用している場合デフォルトでは、ODBC はオートコミット・モードで動作します。Interactive SQL で AUTO_COMMIT オプションを OFF に設定しても、Interactive SQL の設定は ODBC の設定によって上書きされます。ODBC の設定は、SQL_ATTR_AUTOCOMMIT 接続属性を使用して変更できます。ODBC オートコミットは CHAINED オプションから独立しています。 |
Adaptive Server Anywhere は、BEGIN TRANSACTION のような Transact-SQL コマンドもサポートし、Sybase Adaptive Server Enterprise との互換性を保ちます。
詳細については、Transact-SQL のサポートの概要を参照してください。
変更の確定
変更のキャンセル
トランザクションとデータ・リカバリ
SQL Anywhere Studio 9.0.2
Copyright © 1989–2005 Sybase, Inc. Portions copyright © 2001–2005 iAnywhere Solutions, Inc. All rights reserved.