次のプロシージャは、複文リクエストの文を並行して実行します。
CREATE PROCEDURE salesadjust(IN item INTEGER, IN numsold INTEGER) BEGIN DECLARE price DECIMAL(8,2); SELECT item_price INTO price FROM pricetbl WHERE item = pricetbl.item_no; BEGIN REQUEST UPDATE sales_summary SET total_sales = total_sales + price * numsold WHERE item = sales_summary.item_no ;UPDATE inventory SET item_no = item_no - numsold WHERE item = inventory.item_no; END REQUEST; END;
上記の手順の次に以下のステップが続きます。
- 品目の価格がpricetblから検索されます。
- 総額と販売された品目の数を乗算することによって、売上げ総額を算出します。
- 2つの更新リクエストがAMPに対して並行して送られます。
最初の文は、販売されたすべての品目に対して発生した現金を追跡するtotal_salesのサマリー テーブルを更新します。
2番目の文は、その特定の品目の残りの在庫数を反映するようにinventoryを調整します。