|
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: