用数据库怎样求解阶乘?

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:41:59
用数据库做出来,要过程的

CREATE OR REPLACE PROCEDURE DEMO(num number ) AS
result number;
tempResult number;
i number;
j number;
temp number;
BEGIN
result :=0;
i :=1;
LOOP
EXIT when i>num;
j := 1;
tempResult := 1;
LOOP
EXIT WHEN j>i;
tempResult := tempResult*j;
temp :=j;
j :=j+1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(temp||'!= '||tempResult);
i := i+1;
result := result + tempResult;
END LOOP;
DBMS_OUTPUT.PUT_LINE('result = '||result);
Exception
WHEN STORAGE_ERROR THEN
null;
rollback;
dbms_output.put_line('Error executing the code: ' || SQLCODE);
dbms_output.put_line(SQLERRM);
raise;
WHEN OTHERS THEN
null;
rollback;
dbms_output.put_line('Error executing the code: ' || SQLCODE);
dbms_output.put_line(SQLERRM);
raise;