plsql - PL/SQL increment in a WHILE loop -


i’m trying calculate total number of items can purchased given amount of money. this, trying create block while loop increment item's cost until dollar value ($100) met, can’t figure out how calculate loop correctly.

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 lv_itemprice_num bb_product 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 can purchased: ' || lv_loopnum_num); dbms_output.put_line('total amount: '|| lv_loopnum_num * lv_itemprice_num); end; 

your while has incorrect content. use lv_totamt_num calculate prices. there other small things. check below:

declare lv_totavail_num number(8,2) := 100; lv_itemprice_num number(8,2) := 0; lv_totamt_num number(8,2) := 0; lv_loopnum_num number(8,2) := 0; begin dbms_output.put_line('total starting amount: ' || lv_totavail_num);  select price lv_itemprice_num bb_product idproduct = 4; dbms_output.put_line('price: ' || lv_itemprice_num); while lv_totavail_num >= lv_totamt_num loop lv_loopnum_num := lv_loopnum_num + 1; lv_totamt_num := lv_itemprice_num * lv_loopnum_num;  end loop; lv_loopnum_num := lv_loopnum_num -1; dbms_output.put_line('number of items purchased can purchased: ' ||lv_loopnum_num  ); dbms_output.put_line('total amount: '|| lv_loopnum_num * lv_itemprice_num); end; 

Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -