現在プログラミングしている環境 (WebMatrix を使用した C#.Net WebPages、SQL Server CE を使用) でデータベース トランザクションを使用することを検討しており、このトピックについて多くのことを読みました。
最初は、自分のプロジェクトには 100% 必要だと感じていたので、これを調べていましたが、今では、デフォルトの "Last-in-wins" 同時実行ポリシーが私のやや単純な CRUD システムでうまく機能することに気付きました。
今、私はこれについて 100% 必要だと本当に言うほど十分な知識を持っていませんが、可能であれば、そうでなければデータベースに何度もアクセスしなければならないすべてのステートメントを次のように収束させたいと考えています。データベースをロックする必要がある回数を最小限に抑えるために、1 つのステートメントを使用します (繰り返しますが、これを心配する価値があるかどうかはわかりませんが、単一のステートメントの方がクリーンで効率的で、おそらくさらに少なくなるように感じます)。エラーを起こしやすい)。
サーバー側のコードには、ID 番号を再利用できるかどうかに応じて、追加する必要がある行ごとにデータベースに対してINSERT INTO
またはステートメントを実行する必要がある論理分岐がいくつかあります。UPDATE
問題は、トランザクション以外に、複数のUPDATE
and/orINSERT
ステートメントを 1 つの通信可能なステートメントに結合する方法がないことです。
最後に、自分の環境でのトランザクション構文を自分で確認したところ、トランザクションがどのように機能するかを説明しているページを多数見つけましたが、その構文例は提供されていません。私はこのページを見つけました...:
...実際には私の環境とサーバー側のコードを正確にターゲットにしていますが、使用されている構文は、入力中に Intellisence で表示されません。これは、常に構文が間違っていることを示す兆候でした。ただし、このページでは、これをどのように論理的に設定する必要があるか (「try」、「catch」、さらには「finally」を使用) を簡単に確認でき、それは私にとって完全に理にかなっています。私の問題は、トランザクションを実際にコンパイルする方法について、特定の環境の構文が見つからないことです。
SQL Server CE 環境を使用して、WebMatrix を使用した C#.Net WebPages 内で、複数のINSERT
andステートメントを使用してデータベース トランザクションをコンパイルするために必要な構文の例を提供できる人はいますか?UPDATE