14

DB2 および MySQLcommitのステートメントの後に必要な場合の説明を読みました。select

DB2 の選択クエリでコミットが必要ですか?

単一の選択後にコミットする必要があります

私の質問は、 Oracle を使用しcommitてステートメントを実行した後、いつ、なぜそれが重要になるのでしょうか?select

4

2 に答える 2

13

選択後にコミットしたいと思う状況はほんのわずかです。

  1. 選択がデータベース リンクに参加している場合、トランザクションが作成されます。このリンクを閉じようとすると、トランザクションをコミット/ロールバックしない限り、エラーが発生します。

  2. 更新を選択して(DCookieが言うように)ロックを解除します。

  3. シリアル化された分離レベルが設定されている場合は削除するか、これを呼び出す前にデータベース リンクから選択していた場合は追加します。

于 2013-01-21T10:25:56.587 に答える
12

実行した場合は、SELECT ... FOR UPDATE;更新のために保持されているレコードを解放するために COMMIT または ROLLBACK が必要になります。そうでなければ、これを行う理由が思い浮かびません。

于 2013-01-20T23:14:00.610 に答える