END [OF ] TRANSACTION [operand1 ]
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:ACCEPT/REJECT | AT BREAK | AT START OF DATA | AT END OF DATA | BACKOUT TRANSACTION | BEFORE BREAK PROCESSING | DELETE | FIND | GET | GET SAME | GET TRANSACTION DATA | HISTOGRAM | LIMIT | PASSW | PERFORM BREAK PROCESSING | READ | RETRY | STORE | UPDATE
関連機能グループ:「データベースへのアクセスと更新」
END TRANSACTION
ステートメントは、論理トランザクションの終了を示すために使用します。 論理トランザクションは、データベースに含まれている情報の論理的一貫性を保証するために、完全に実行される必要がある最小の業務ユニットです。業務ユニットの定義はユーザーが行います。
END TRANSACTION
ステートメントが正しく実行されると、後続のユーザー、Natural、データベース、またはオペレーティングシステムによる中断に関係なく、トランザクション中のすべての更新処理をデータベースに対して物理的に適用することが保証されます。 END TRANSACTION
ステートメントが正しく終了しなかった場合、トランザクション中の更新処理は自動的にバックアウトされます。
また、END TRANSACTION
ステートメントでは、トランザクション中にホールド状態となっていたすべてのレコードが解放されます。
END TRANSACTION
ステートメントは、論理条件に基づいて実行できます。
詳細については、『プログラミングガイド』の「データベース更新 - トランザクション処理」セクションを参照してください。
このステートメントを、Entire System Server で使用することはできません。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | N | A | U | N | P | I | F | B | D | T | 可 | 不可 |
構文要素の説明:
operand1 |
トランザクションデータの保存:
Adabas データベースに適用されるトランザクションに対して、ユーザーは、このステートメントを使用して、トランザクション関連情報を保存することもできます。 ただし、トランザクションデータは 2000 バイトを超えないようにする必要があります。
トランザクションデータは、 トランザクションデータは、Natural プロファイルパラメータ
|
---|
トランザクションデータ(operand1)が指定されていない END TRANSACTION
ステートメントは、Natural の制御下で、データベーストランザクションが行われたときにのみ実行されます。 Natural プロファイルパラメータ ET
の設定により、ステートメントがどのように実行されるかが決まります。ET=OFF
を指定すると、トランザクションの影響を受けたデータベースに対してのみ実行されます。ET=ON
を指定すると、最後の BACKOUT TRANSACTION
または END TRANSACTION
ステートメントの実行以後に参照された、全データベースに対して実行されます。
トランザクションデータ(operand1)が指定されている END TRANSACTION
ステートメントは常に実行され、データベースにトランザクションデータが格納されます(下記のセクションを参照)。 また、他のどのデータベースに対して END TRANSACTION
ステートメントが実行されるかは、ET
パラメータの設定で決まります(上記を参照)。
** Example 'ETREX1': END TRANSACTION ** ** CAUTION: Executing this example will modify the database records! ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 CITY 2 COUNTRY END-DEFINE * FIND EMPLOY-VIEW WITH CITY = 'BOSTON' ASSIGN COUNTRY = 'USA' UPDATE END TRANSACTION /* AT END OF DATA WRITE NOTITLE *NUMBER 'RECORDS UPDATED' END-ENDDATA /* END-FIND END
7 RECORDS UPDATED
** Example 'ETREX2': END TRANSACTION (with ET data) ** ** CAUTION: Executing this example will modify the database records! ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 NAME 2 FIRST-NAME 2 CITY * 1 #PERS-NR (A8) INIT <' '> END-DEFINE * REPEAT INPUT 'ENTER PERSONNEL NUMBER TO BE UPDATED:' #PERS-NR IF #PERS-NR = ' ' ESCAPE BOTTOM END-IF /* FIND EMPLOY-VIEW PERSONNEL-ID = #PERS-NR INPUT (AD=M) NAME / FIRST-NAME / CITY UPDATE END TRANSACTION #PERS-NR END-FIND /* END-REPEAT END
ENTER PERSONNEL NUMBER TO BE UPDATED: 20027800
NAME LAWLER FIRST-NAME SUNNY CITY MILWAUKEE