oracleトランザクションを使用して、マルチテーブルに1つのマスター表と2つの詳細表を同時に挿入します。私はマスターテーブルに1つのレコードを挿入し、他の2つのテーブルには複数のレコードを挿入します。 エラーが発生した場合、すべてのテーブルで操作が成功すると値1を返す必要があります。データは0を返し、データはすでにマスターテーブルに存在する場合は3を返します。私はC#でこれを実行する必要があり、ここに私のコード、 であると私は私のコードを変更することができますどのようにループC#を使用したOracleトランザクションの作成
public int RunOracleTransaction(Student s, Marks[] m, Course []s)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
OracleCommand command = connection.CreateCommand();
OracleTransaction transaction;
// Start a local transaction
transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
// Assign transaction object for a pending local transaction
command.Transaction = transaction;
try
{
// what i shall do to insert 1 record to master data and multi records //to details data as one transaction ?
}
catch (Exception e)
{
transaction.Rollback();
Console.WriteLine(e.ToString());
Console.WriteLine("Neither record was written to database.");
}
}
}
をOracleTransactionをインスタンス化する必要があります。使用ブロックを使用して完了を確認する必要があります。ロールバックを避けるために 'Commit'を呼び出してください。 – Richard