CFTRANSACTION | |
説明
トランザクション処理をサポートするエンタープライズデータベース管理システムの場合、そのデータベース管理システムに対し、複数のデータベースオペレーションを単一のトランザクションとして処理するように指示します。データベースのコミットおよびロールバック処理を実行できます。使用するデータベース管理システムが SQL トランザクション処理をサポートするかどうかについては、そのシステムのドキュメントを参照してください。 |
|
カテゴリ
データベース操作タグ | |
シンタックス<cftransaction action = "begin"、"commit"、"rollback" のいずれか isolation = "read_uncommitted"、"read_committed"、 "repeatable_read" のいずれか > </cftransaction> |
|
関連項目
cfinsert、cfprocparam、cfprocresult、cfquery、cfqueryparam、cfstoredproc、cfupdate、『ColdFusion MX 開発ガイド』の第19章の「SQL データベースおよび SQL について」 の「コミット、ロールバック、およびトランザクション」
|
|
使用方法
action 属性の値を指定しない場合、自動トランザクション処理は次のように進行します。
isolation 属性の値を指定しない場合、ColdFusion は関連付けられたデータベースに対してデフォルトの隔離レベルを使用します。 ただし、CFML エラー処理と action 属性を使用すると、データベースクエリーの成否に基づいて、トランザクションをコミットするかロールバックするかを明示的に制御することもできます。ブロック内では、次の操作が可能です。
これらの例では、スラッシュを終了タグの代わりのシンタックスとして使用します。 1 つのトランザクションブロック内で、複数のデータベースへクエリーを書き込むことができます。ただし、別のデータベースにクエリーを書き込む前には、1 つのデータベースへのトランザクションをコミットするか、ロールバックする必要があります。 データベースエンジンによるトランザクション中のロックの方法を制御するには、isolation 属性を使用します。 |
|
例<p>CFTRANSACTION を使用して、CFQUERY を使用する 複数のクエリーを 1 つのビジネスイベントにグループ化できます。クエリーによってリクエストされるデータに対す る変更は、 トランザクションブロック内のすべてのアクションが 問題なく実行されるまでコミットされません。 <p>これは表示専用の例です。 <!--- <cftransaction> <cfquery name='makeNewCourse' datasource='Snippets'> INSERT INTO Courses (Number, Descript) VALUES ('#myNumber#', '#myDescription#') </cfquery> <cfquery name='insertNewCourseToList' datasource='Snippets'> INSERT INTO CourseList (CorNumber, CorDesc, Dept_ID, CorName, CorLevel, LastUpdate) VALUES ('#myNumber#', '#myDescription#', '#myDepartment#', '#myDescription#', '#myCorLevel#', #Now()#) </cfquery> </cftransaction> ---> |
ACTION | |
オプション | |
Default value: "begin"
|
ISOLATION | |
オプション | |
ODBC のロックタイプです。
|