Oracle 当循环停止时
我试图找出如何将其写入WHILE循环,并在达到24时停止。 这就是我到目前为止所拥有的,当我运行它的时候,它会一直持续下去Oracle 当循环停止时,oracle,plsql,while-loop,Oracle,Plsql,While Loop,我试图找出如何将其写入WHILE循环,并在达到24时停止。 这就是我到目前为止所拥有的,当我运行它的时候,它会一直持续下去 DECLARE startD DATE := SYSDATE; monthlyP NUMBER(8,2) := 120; totalP NUMBER(3) :=24; dueD DATE; BEGIN WHILE totalP <=24 LOOP totalP := totalP -1; sta
DECLARE
startD DATE := SYSDATE;
monthlyP NUMBER(8,2) := 120;
totalP NUMBER(3) :=24;
dueD DATE;
BEGIN
WHILE totalP <=24 LOOP
totalP := totalP -1;
startD := add_months(startD,1);
dbms_output.put_line('Payment Number' || totalP);
dbms_output.put_line('Date Due' || startD);
dbms_output.put_line('Payment amount $'||to_char(monthlyP,'$9999.99'));
dbms_output.put_line('Donation balance' || totalP );
END LOOP;
END;
声明
开始日期:=系统日期;
月数(8,2):=120;
总数(3):=24;
到期日;
开始
当totalP时,您可以引入一个“counter”变量,将其设置为0,并在每次迭代时将其增加1
DECLARE
startD DATE := SYSDATE;
monthlyP NUMBER(8,2) := 120;
totalP constant NUMBER(3) := 24;
counter number := 0 ;
dueD DATE;
BEGIN
WHILE counter < totalP LOOP
counter := counter + 1;
startD := add_months(startD,1);
-- use to_char() - explicit conversion - for every || here ...
dbms_output.put_line('Payment Number ' || to_char( counter ) );
dbms_output.put_line('Date Due ' || to_char( startD, 'YYYY-MM-DD' ) );
dbms_output.put_line('Payment amount $ '||to_char(monthlyP,'$9999.99'));
dbms_output.put_line('Donation balance ' || to_char( totalP ) );
END LOOP;
END;
/
您可以引入一个“counter”变量,将其设置为0,并在每次迭代时将其增加1,例如
DECLARE
startD DATE := SYSDATE;
monthlyP NUMBER(8,2) := 120;
totalP constant NUMBER(3) := 24;
counter number := 0 ;
dueD DATE;
BEGIN
WHILE counter < totalP LOOP
counter := counter + 1;
startD := add_months(startD,1);
-- use to_char() - explicit conversion - for every || here ...
dbms_output.put_line('Payment Number ' || to_char( counter ) );
dbms_output.put_line('Date Due ' || to_char( startD, 'YYYY-MM-DD' ) );
dbms_output.put_line('Payment amount $ '||to_char(monthlyP,'$9999.99'));
dbms_output.put_line('Donation balance ' || to_char( totalP ) );
END LOOP;
END;
/
您运行totalP:=totalP-1
,即它将运行24,23,22,21,20。。。当totalP 0 loop
运行时,您的循环条件是,即运行totalP:=totalP-1
,即24,23,22,21,20。。。循环条件为,而totalP 0循环为