• 締切済み

PL/SQLトリガー機能

PL/SQLでトリガーを使って下記処理をしたいのですが教えてください。 処理内容 a在庫数テーブルの在庫数がUPDATE(After UPDATE)するたびに b在庫数テーブルにa在庫数の店CD(KEY1)と商品CD(KEY2)と取引日と当日売上日と在庫数を追加(INSERT) この時、 b在庫数テーブルのkey店CD(KEY1)と商品CD(KEY2)と取引日(KEY3)が同じ場合、在庫数のみを更新(UPDATE)する。 上記の事柄のトリガー機能・処理分を教えてください。 よろしくお願いします。

みんなの回答

回答No.1

トリガの構文がすらすら出てくるほどPL/SQLは書いていないので はっきりとした回答はできませんが bとcで場合わけがあるので mergeもしくは 在庫テーブルを基にしたVIEWを定義してそこに Insteadトリガとして定義してやる必要がありそうです。 トリガの中で挿入先テーブルを参照しても良いのですが oldとnewの機能をうまく使えばもっと効率よく処理できるかと思います。 中途半端な回答で申し訳ありません。

totorotoro
質問者

お礼

質問内容についてoldとnewをしようして効率良い処理が出来ました。 ありがとうございます。 又、何かあった場合に宜しくお願いします。

関連するQ&A

専門家に質問してみよう