Table of ContentsPreviousNext

Ispirer             Ispirer


Ispirer SQLWays データベース移行ソフトウェア

BEGIN TRANSACTIONのMicrosoft SQL Server から Oracleへの変換

Microsoft SQL Server はBEGIN TRANSACTIONにより明示的なまたはネストされたトランザクションを開始する事ができます。トランザクションに対しCOMMITステートメントを実行すると変数 @@TRANCOUNT が自動的にひとつ減算されます。 もしBEGIN TRANSACTIONに名前が指定された場合、Microsoft SQL Serverアプリケーションは一番最初までロールバックするか、BEGIN TRANSACTIONステートメントで定義された位置でロールバックすることができます。

Oracleでは明示的なトランザクションの開始はサポートされていませんが、Oracleでは一部の作業のロールバックをすることが可能です。これを行うためにはSAVEPOINTステートメントを使用します。SAVEPOINTステートメントにより後でロールバックするためのトランザクションの場所を指定する事ができます。SAVEPOINTステートメントの実行後、処理の継続、トランザクションのコミット、トランザクション全体のロールバック、またはSAVEPOINTへのロールバックを行う事ができます。

故に、SQLWaysはMicrosoft SQL Server BEGIN TRANSACTION ステートメントの ROLLBACK を Oracle SAVEPOINT ステートメントでエミュレーションします。

SQLWaysは名前付きのBEGIN TRANSACTIONステートメントをSAVEPOINTステートメントに変更します。名前なしのBEGIN TRANSACTIONステートメントは除去されます。

Examples:

TABLE 48. BEGIN TRANSACTIONのMicrosoft SQL Server から Oracleへの変換
Microsoft SQL Server
Oracle
説明
BEGIN 
BEGIN 
  
BEGIN TRAN 
  
  
BEGIN TRANSACTION 
  
  
BEGIN TRANSACTION tran1 
SAVEPOINT tran1 
  
BEGIN TRANSACTION @val_tran1 
SAVEPOINT tran1 
@val_tran1 の値は 'tran1' 
BEGIN TRANSACTION @val_tran1  
WITH MARK 'transaction 1 
SAVEPOINT tran1 
@val_tran1 の値は 'tran1' 


Table of ContentsPreviousNext
Ispirer             Ispirer
Copyright © 1999-2015 Ispirer Systems Ltd. Ispirer and SQLWays are trademarks of Ispirer Systems Ltd. All other product names may be trademarks of the respective companies. All rights reserved.