oracle中求n的阶乘,怎么写啊
解决方案 »
- 求助,pde文件导入失败,Character set marker unknown
- rman备份出错 !!!!!!!!!急急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111
- 关于合并SQL语句的很急的问题。很急!!!
- 问个查询的问题
- 怎么修改这个TO_DATE()语句
- 什么地方可以下载ODP.NET?
- 开发中的一个问题。请教各位。
- ORACLE 存贮过程中怎样实现 select * from table?(在线等)
- 有索引为什么还是全表扫描呢?请高手相助!!
- 关于关闭oracle外键约束的sql语句问题
- 我安装asm时出了问题,kernel-smp明明装了,但是说没有
- oracle rman备份问题
return numberis
n number;
Begin
for c in 1..i loop
n:=n*c;
end loop;
return n;
end;
create or replace function fun_factorial(num number)
return number
is
result number:=1;
begin
if num<0 then
raise_application_error(-20012,' function canshu can not <0') ;
elsif num=0 or num=1 then
return 1;
else
for i in 2..num loop
result:=i*result;
end loop;
return result;
end if;
end fun_factorial;
SQL> select fun_factorial(5) from dual;
FUN_FACTORIAL(5)
----------------
120
SQL> select fun_factorial(6) from dual;
FUN_FACTORIAL(6)
----------------
720
参考:http://topic.csdn.net/u/20110516/16/b3761513-8ddd-4668-bc5d-cfb970e827c4.html?51453