- 締切済み
シーケンス型で取得した値を別テーブルで利用する方法
シーケンス型で取得した値を別テーブルで利用する方法を別テーブルの設定したい場合,どうすればいいでしょうか. 例えば,商品情報が入っている商品テーブルのidを価格テーブルに結びつけたい場合 ・トランザクション開始 ・商品テーブルにinsert ・コミット ・トランザクション開始 ・シーケンスより最大値を取得 ・価格テーブルにシーケンスより得られた値を含めてinsert ・コミット このままですと価格テーブルの時に何らかの問題でロールバックした場合,商品テーブルには価格テーブルと関係性がないレコードができてしまいます.
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nora1962
- ベストアンサー率60% (431/717)
回答No.1
・トランザクション開始 ・商品テーブルにinsert(nextvalを使用) ・価格テーブルにシーケンスより得られた値を含めてinsert(currvaを使用) ・コミット 要はトランザクションを分割するのが問題なので、ひとつのトランザクションにまとめればいいと思います。