一個簡單的pl/sql塊代碼

DECLARE
  qty_on_hand   NUMBER(5);
BEGIN
  SELECT
        quantity
           INTO qty_on_hand
           FROM inventory
          WHERE product = 'TENNIS RACKET'
  FOR UPDATE OF quantity;

  IF qty_on_hand > 0 THEN   -- check quantity
    UPDATE inventory
       SET quantity = quantity - 1
     WHERE product = 'TENNIS RACKET';

    INSERT INTO purchase_record
         VALUES ('Tennis racket purchased'SYSDATE);
  ELSE
    INSERT INTO
 purchase_record
         VALUES ('Out of tennis rackets'SYSDATE);
  END IF;

  COMMIT;
END;

--

程序是用於處理一個網球拍訂單的。首先聲明一個NUMBER類型的變量來存放現有的球拍數量。然後從數據表inventory中把球拍的數量檢索出來。

如果數量大於零,程序就會更新inventory表,並向purchase_record表插入一條購買記錄,如果數量不大於零,程序會向purchase_record表

插入一條脫銷(out-of-stock)記錄。

 

--注意for update of

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章