【发布时间】:2016-04-22 09:43:56
【问题描述】:
我正在尝试计算用给定金额可以购买的物品总数。为此,我尝试创建一个带有 WHILE 循环的块,以增加项目的成本,直到满足美元价值(100 美元),但无法弄清楚如何正确计算循环。
DECLARE
lv_totavail_num NUMBER(8,2) := 100;
lv_itemprice_num NUMBER(8,2);
lv_totamt_num NUMBER(8,2);
lv_loopnum_num NUMBER(8,2) := 0;
BEGIN
DBMS_OUTPUT.PUT_LINE('Total Starting Amount: ' || lv_totavail_num);
SELECT price
INTO lv_itemprice_num
FROM BB_PRODUCT
WHERE IDPRODUCT = 4;
DBMS_OUTPUT.PUT_LINE('Price: ' || lv_itemprice_num);
WHILE lv_totavail_num >= lv_itemprice_num LOOP
lv_totavail_num := lv_itemprice_num * lv_loopnum_num;
lv_loopnum_num := lv_loopnum_num + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Number of Items Purchased that can be purchased: ' || lv_loopnum_num);
DBMS_OUTPUT.PUT_LINE('Total Amount: '|| lv_loopnum_num * lv_itemprice_num);
END;
【问题讨论】:
标签: plsql while-loop increment