SQL Anywhere では、文はトランザクションにまとめます。トランザクションをコミットすると、データベースの変更が永続的なものになります。データを変更すると、変更がトランザクションログに記録されます。変更は、COMMIT 文を入力するまでは永続的なものにはなりません。
トランザクションは次のいずれかのイベントで開始します。
データベースへの接続後、最初の文
トランザクションの終了後、最初の文
トランザクションは次のいずれかのイベントで完了します。
データベースの変更を確定する COMMIT 文
トランザクションで行われたすべての変更を取り消す ROLLBACK 文
オートコミットが実行される文。ALTER、CREATE、COMMENT、DROP など、データ定義文の大半は自動的にコミットを実行します。
データベースへの接続を解除すると、暗黙的なロールバックが実行されます。
ODBC と JDBC には各文の後で COMMIT 文を実行するオートコミットの設定があります。デフォルトでは、ODBC と JDBC のオートコミットの設定は ON にする必要があり、各文は単一のトランザクションとして処理されます。トランザクション設計機能を活用する場合は、オートコミットの設定を OFF にします。
chained データベースオプションを Off にしておくと、各文の後にオートコミットを実行したのと同様の処理が行われます。デフォルトでは、jConnect または Open Client アプリケーションを使用する接続では chained は Off に設定されています。
SQL Anywhere コンソールユーティリティ (dbconsole) を使用してデータベースに接続することで、未処理のトランザクションがある接続を決定できます。[接続] ウィンドウ枠を検査して、未処理のトランザクションがある接続を確認します。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |