Event テーブルの totalPayment を計算するトリガーを作成したいと考えています。しかし、totalPayment 列を計算するには、Location と Equipment という別の 2 つのテーブルを参照します。以下は、テーブルのテーブル構造です。
create table equipment(
equipmentID varchar2(10) primary key,
equipmentName varchar2(50) not null,
equipmentPriceUnit decimal(18,2) not null
);
create table location(
locationID varchar2(10) primary key,
locationName varchar2(50) not null,
locationMaxCapacity int not null,
locationPriceHour decimal(18,2) not null
);
create table event(
eventID varchar2(10) primary key,
eventName varchar2(50) not null,
eventDurationHour int not null,
noAudience int not null,
equipmentID references equipment(equipmentID) null,
equipmentQuantity int null,
locationID references location(locationID) null,
**totalPayment decimal(18,2) null**
);
この計算を行う式は
totallocation := locationPriceHour*eventDurationHour;
totalequipment := equipmentPriceUnit*equipmentQuantity;
totalPayment :=totallocation + totalequipment;