挿入モードは、ある項目属性の値を別の項目属性の値に加算します。
削除モードは、ある項目属性の値を別の項目属性の値から減算します。
更新モードは、更新する項目属性の新しい値と古い値の差分を計算して、その差分を別の項目属性に加算します。
Add(att1 , att2
) [ if
cond ] ;
次のモードを使用できます:
- 挿入: att1 項目属性の値が att2 項目属性の値に加算されます (指定された条件が True の場合)。
- 削除: att1 項目属性の値が att2 項目属性の値から減算されます (指定された条件が True の場合)。
- 更新: att1 項目属性の新しい値と古い値の差分が att2 項目属性の値に加算されます (指定された条件が True の場合)。
次の
Transaction オブジェクトがあるとします:
Customer Trip Country
{ { {
CustomerId* TripId* CountryId*
CustomerName TripDate CountryName
CustomerLastName CountryId City
CustomerPhone CountryName {
CustomerTotalMiles CityId CityId*
Trip CityName CityName
{ TripMiles }
TripId* }
TripDate }
CountryId
CountryName
CityId
CityName
TripMiles
}
}
ある顧客が何回か旅行に行ってマイルを貯めているとします。
顧客のマイル数の累積を実装するには、顧客トランザクションで次のルールを定義します。
Add(TripMiles, CustomerTotalMiles);
Add ルールには次の動作が組み込まれています。
- 顧客の新規の旅行が追加されると、TripMiles の値が CustomerTotalMiles に加算されます。
- 顧客の旅行が削除されると、TripMiles の値が CustomerTotalMiles から減算されます。
- 顧客の旅行に関連付けられた TripMiles の値が変更されると、設定した値が自動的に減算され、新しい値が顧客の合計マイル数に加算されます。
Subtract ルール