【发布时间】:2022-01-07 18:43:56
【问题描述】:
我不知道我的代码块有什么问题来创建一个程序来找出一个数字的阶乘。谢谢。
问题1:编写一个存储过程,获取一个整数n,计算并显示其阶乘。
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE factorial_number(
n NUMBER) AS
factorial NUMBER;
num Number;
BEGIN
FOR i IN REVERSE 1..n LOOP
num := i - 1;
factorial := factorial * num;
END LOOP;
DBMS_OUTPUT.PUT_LINE (factorial);
EXCEPTION
WHEN OTHERS
THEN DBMS_OUTPUT.PUT_LINE ('Error!');
END;
/
BEGIN
factorial_number(5);
END;
/
【问题讨论】:
-
调试代码的最佳方法是将 dbms_output 语句放入循环中,以便查看每次迭代发生的情况。