PL / SQLで別の表を更新するトリガーを作成しようとしていますが、問題が発生しています。(私はこれを読みましたが、あまり役に立ちません)。
これが私の状況です、私は2つのテーブルを言うことができます:
顧客テーブル
CustomerID番号主キー、ItemsDelivered番号
アイテム表
CustomerID番号、ItemID番号、ItemDelivered Varchar(15)
誰かが注文すると、Itemsテーブルに次のような新しいレコードがあるとします。
| CustomerID | ItemID | ItemDelivered |
| 1 | 1 | False |
誰かがItemDelivered列を「True」に更新するたびにItemsDeliveredカウンターを上げるトリガーが必要です。
create or replace Trigger UpdateDelivered
After Update On Items For
Each Row
Declare
Counter Customers.ItemsDelivered%Type;
Begin
If (:Old.ItemDelivered ='False' And :New.ItemDelivered='True') Then
Select ItemsDelivered into Counter From Customers where CustomerdID =:New.CustomerID;
Update....
end if;
END;
これが私の問題です。ItemDelivered列のみが更新された場合、New.CustomerIDはありません。
更新したばかりの行のCustomerIDを取得する方法はありますか?(挿入された仮想テーブルで結合しようとしましたが、テーブルが存在しないというエラーが発生します)