プロシージャのコミットについて ホーム › フォーラム › A5:SQL Mk-2掲示板 › プロシージャのコミットについて このトピックには2件の返信、2人の参加者があり、最後にもたしんにより6年、 7ヶ月前に更新されました。 3件の投稿を表示中 - 1 - 3件目 (全3件中) 投稿者 投稿 2018/04/03 14:16 #1730 返信 もたしんゲスト 環境 Oracle11g データベース更新時に自動的にトランザクションを開始する。のオプションをチェックしていますが,SQLとして,BEGIN~END込みの処理を実行する場合,および登録済みのプロシージャをCALLで呼ぶ場合は,プロシジャ内にCOMMITを指定していなくても,処理完了時にオートコミットされるようです。(sqlplusで実行する場合コミットしなければrollbackが可能です。) 実行前に明示的にトランザクション開始ボタンを押下すれば,ロールバックは可能になるようですが,プロシージャの場合も「データベース更新時に自動的にトランザクションを開始する。」が効くようにすることはできないでしょうか? 2018/04/08 22:44 #1849 返信 松原正和キーマスター もたしんさんこんにちは。 Version 2.13.0 release candidate 1でプロシージャ実行時にトランザクションを開始するオプションを追加してみました。 (プロシージャモードでの実行時にCREATE, ALTER, DROP以外から始まるテキストを実行時にトランザクションを開始します。) プロシージャ内でDBが更新されるかどうかは、A5:SQL Mk-2側ではわからないので、なかなかどうすべきかは悩むところですね…。 2018/04/10 10:11 #1876 返信 もたしんゲスト 対応ありがとうございます。 コミット,ロールバックのボタンを押す手間はありますが,オートコミットされるよりはリスクは少ないので,個人的にはselect文だけのプロシージャでも無条件でトランザクション開始で問題はないかとは思います。 投稿者 投稿 3件の投稿を表示中 - 1 - 3件目 (全3件中) 返信先: プロシージャのコミットについて あなたの情報: お名前 (必須) メール (非公開) (必須): ウェブサイト: 送信