In transaction
In transaction : Boolean
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | Boolean | ← | カレントプロセスがトランザクション内にある場合、TRUEを返します。 |
説明
In transactionコマンドはカレントプロセスがトランザクション内にある場合にTrueを返します。その他の場合はFalseを返します。
例題
複数のレコードに対する操作 (レコード追加、修正、または削除) を実行すると、ロックされたレコードに出くわす可能性があります。このような場合、データの整合性を維持するためには、失敗したときに操作全体をロールバックして、データベースを元の状態に戻せるように、トランザクションの中で捜査を行わなければなりません。
トリガ内から、あるいはサブルーチン (トランザクションの中でも、外でも呼び出せる) から操作を実行する場合には、In transactionを使用して、カレントプロセスのメソッドまたは呼び出し側のメソッドがトランザクションを開始したかどうかをチェックすることができます。トランザクションが開始されていなければ、操作を開始してはいけません。そうでなければ失敗した場合に、操作をロールバックすることができなくなってしまいます。
参照
Active transaction
CANCEL TRANSACTION
START TRANSACTION
VALIDATE TRANSACTION
トリガ