一時テーブル (10 フィールド) があり、ストアド プロシージャ (単一の列に対して単一の更新ステートメント) を使用して更新される場合。
一時テーブルを更新するにはコミットが必要ですか? コミットなしで問題なく動作しますか?
それが実際の一時テーブルである場合、その中のデータは、たとえあなたがコミットしたとしても、あなたのセッションにのみ表示され、他の誰にも表示されません. on commit
句がコミットされている場合preserve rows
でも、コミットしても違いはありませんが、そうであれば、セッションであっても、delete rows
後でデータを失うことになりcommit
ます。
それが実際の一時テーブルでない場合、その中のデータは、コミットするまでセッションにのみ表示されます。呼び出されたプロシージャは(通常)同じセッションにあるため、データの変更が表示され、通常は呼び出し元がコミットするかロールバックするかを決定します.プロシージャ内でそれを行うのは一般的には良い考えではありません.
このように言います-コミットしない場合-セッションのみが任意の時点で変更を確認します。