BeginTransaction(IsolationLevel)
このメソッドは、ローカル・トランザクションを指定された分離レベルで開始します。
宣言
// C#
public OracleTransaction BeginTransaction(IsolationLevel isolationLevel);パラメータ
- 
                        
isolationLevel新規トランザクションの分離レベル
 
戻り値
OracleTransactionオブジェクトは、新規トランザクションを表します。
                  
実装
IDbConnection 
                  
例外
InvalidOperationException - トランザクションはすでに開始されています。
                  
ArgumentException - 指定したisolationLevel値が無効です。
                  
備考
分離レベルIsolationLevel.ReadCommittedおよびIsolationLevel.Serializableがサポートされています。
                  
BeginTransactionメソッドは、IsolationLevel.Serializable分離レベルをサポートしていますが、System.TransactionsおよびTransactionScopeを使用する場合、シリアライズ可能なトランザクションはサポートされません。
                  
他の分離レベルを要求すると、例外が発生します。
備考(.NETストアド・プロシージャ)
このメソッドをコンテキスト接続用の.NETストアド・プロシージャで使用すると、未サポートの例外が発生します。
例
// C#
 
using System;
using System.Data;
using Oracle.DataAccess.Client; 
 
class BeginTransactionSample
{
  static void Main()
  {
    string constr = "User Id=scott;Password=tiger;Data Source=oracle";
    OracleConnection con = new OracleConnection(constr);
    con.Open();
 
    // Create an OracleCommand object using the connection object
    OracleCommand cmd = con.CreateCommand();
 
    // Start a transaction
    OracleTransaction txn = con.BeginTransaction(IsolationLevel.ReadCommitted);
 
    // Update EMP table
    cmd.CommandText = "update emp set sal = sal + 100";
    cmd.ExecuteNonQuery();
 
    // Rollback transaction
    txn.Rollback();
    Console.WriteLine("Transaction rolledback");
 
    // Clean up
    txn.Dispose();
    cmd.Dispose();
    con.Dispose();
  }
}