[an error occurred while processing this directive]
[an error occurred while processing this directive]
リンク
インターシステムズ(日) └日本語ドキュメント インターシステムズ(US) (有)エムブイビイ ダイナシステム(株) Googleグループ(英語) Googleグループ(日本語) George James Software cache'infoアーカイブ 【広告】
|
トランザクション処理
Transaction on Cache'.
トランザクションとは、一連の処理を一括で処理する単位のことです。
この例の「出金と入金」や「売り上げと在庫」、「」のように、どちらかの処理が成功して、もう一方の処理が失敗すると残高や在庫などに問題が発生してしまいます。たとえば先日の東証のトラブルはトランザクション処理がうまくいかなかった例だと思われます。yahooニュース キャシェーでトランザクションを処理するには、以下のコマンドを使用します。
トランザクションの開始をTSTARTコマンドで宣言し、TCOMMITコマンドでトランザクションを確定させます。処理中にエラーがあった場合はTROLLBACKコマンドでトランザクションを取り消し、トランザクション前の状態にデータベースを戻します。 ためしにCache' ターミナルで実行してみます。
このように、トランザクションがコミットした場合は変更が反映され、ロールバックした場合は変更が取り消されます。 ただし、トランザクション中のグローバルは別プロセスからの変更を含めたアクセスが可能です。そのため、LOCKコマンドを使用して他のユーザからの変更を防ぐ必要があります。 ルーチンとしてまとめると次のような感じになります。
また、トランザクションは入れ子にすることができます。トランザクションの階層は$TLEVELシステム変数を参照することで確認できます。 |