1.procedureが呼ばれて、複数のtableがupdateされます
2.条件判定によってrollbackされる
ここで、1で複数tableに書き込まれたものが戻ってしまう。 1つだけrollbackしたくないtableがあるので、rollback前の対象レコードを保持しておいて、rollback後、保持しておいた値で再度updateして欲しいという依頼なのです。
rollback前の対象レコード(複数存在します)をワークエリアに保持しておいて、rollback後、その値をとってupdateすればいいのでは? と考えたのですが。
temporary tableに持てるのかなぁ?と。
PLは初体験なので、書き方もよくわからりません。どなたかご教授願えませんか?また、なにか他にいい方法がありましたらアドバイスください。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
delete t where … returning … bulk collect into … で削除しながら回収して、rollback の後 insert するとイイんじゃないかしら。
No.1
- 回答日時:
こんにちわ
> 1つだけrollbackしたくないtableがあるので、・・・
rollback したくないテーブルに対する更新部分を自律型トランザクション
としてStored Procedure にして下さい。
自律型トランザクションの中でCommit すれば、後は呼出元が
Rollback されてもデータは確定されます。
詳細については、マニュアルで確認して下さい。
この回答への補足
アドバイスありがとうございます。複数のtableを更新しているprocedureは別チームが管理しているため、そちらのprocedureには手出しができないのです。いろいろ深い事情があるらしく・・・。
補足日時:2006/04/08 17:06お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 簡単にシステムの復元できるようにするには 6 2023/08/04 08:02
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- 英語 Outcomes were evaluated including survival rate an 3 2022/04/14 14:16
- Excel(エクセル) エクセル マクロ A列の <table> ~ </table>までを C列に抜き出したい 6 2023/04/01 01:28
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Excel(エクセル) Excel 条件付き書式について 1 2022/12/14 20:38
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
Oracle テーブルの列削除
-
Oracle上のテーブルからCREATE ...
-
count(1)とcount(*)の違い
-
oracle sqlで先頭の1件を取得
-
oracleのプライマリ・キー名の変更
-
複数テーブルのUPDATE
-
膨大なデータの有効な移行方法...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
異なるスキーマからデータを抽...
-
DELETE文でFROM句を省略した場合
-
Access レコードを追加できませ...
-
ACCESS 複数テーブル・複数フィ...
-
datapumpの実行方法について
-
ORA-00959: 表領域'****'は...
-
postgreSQLのint型は桁数指定が...
-
他の処理でselectさせないよう...
-
テーブルからのselectにおいて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
count(1)とcount(*)の違い
-
1つのテーブル・2つの列を結合...
-
テーブル名を[]でくくらないと...
-
主キーが二つのテーブルのselec...
-
複数テーブルのUPDATE
-
Oracle テーブルの列削除
-
oracleのプライマリ・キー名の変更
-
グループの数を取得したい
-
oracle sqlで先頭の1件を取得
-
マンションのベランダでお酒の...
-
sqlplusで実行したSQLの結果を...
-
alter table でチェックボック...
-
Oracle複数の表をもとにmerge文...
-
ある英語の問題のコト
-
ローマ字入力の文字リスト
-
CASCADE CONSTRAINTSについて
-
SQL2005 のクエリ文について
-
create table as select
おすすめ情報