-1

一連のSQLINSERTステートメントを実行したいと思います。問題は、オールオアナッシングのアプローチが必要なことです。それらがすべて実行されるか、いずれかが実行されない場合、データベースに変更は加えられません。

私が考えることができる唯一の解決策は条件付きループを使用することですが、それは多くの冗長なコード(行われた変更の決定、テーブルの削除など)を意味しますより簡単な解決策はありますか?

解決策を広範囲に検索しましたが、同様の質問は見つかりませんでした。以前に質問されたことがある場合は、お詫び申し上げます。

4

2 に答える 2

2

を使用する必要がありTransactionます。MSDN の例はこちらにあります

于 2013-03-21T11:11:09.550 に答える
0

幸いなことに、優れたデータベースとは、Atomic、Consistent、Integrated、Durable という 4 つの ACID プロパティを持つデータベースです。

最初のプロパティである Atomic は、トランザクション全体が一度にコミットされるか、変更がまったく行われないトランザクションの動作を指します。

詳細については、Korth の著書「Database System Concepts」をお読みください。

Oracle、MS SQL Server、MySQL、DB2 などの優れたデータベースを使用している場合は、それらがトランザクションをどのように処理するかを少し調べて、これらのトランザクション内に DML ステートメントを配置するだけです。

Oracle のトランザクション サポートについては、こちらをご覧ください。

PS-銀行のドメインで働いているようです。これらの人々は、これらのことに必死です。

于 2013-03-21T11:15:24.910 に答える