在一个package中的function不能递归调用自己吗?

yuepengfei 2005-05-26 03:45:40
我在一个包中写了一个函数a,在函数中递归调用自己,编译的时候提示我a不是一个过程或者未定义,我直接create or replace function创建之后,在递归调用自己没有任何问题,难道包中的函数不能递归调用自己吗?还是需要特殊的写法?
请大家帮忙,谢谢!
...全文
190 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
PPLUNCLE 2005-05-27
  • 打赏
  • 举报
回复
在递归的时候是不是没有接收值啊,我以前也遇到过,后来查了下,是没接收值
zzwind5 2005-05-27
  • 打赏
  • 举报
回复
你在调用自身函数的时候加上 用户名 和 包名
不行就是你的函数写错了,在PL/SQL中递归我用过没什么问题的
zzwind5 2005-05-27
  • 打赏
  • 举报
回复
当然可以给你个 1+....+10用递归的例子
create or replace function l_sum (
n number) return number is
m number;
begin
if n=1 then
m:=1;
else
m:=l_sum(n-1)+n;
end if;
return m;
end;

begin
dbms_output.put_line(l_sum(10));
end;
递归只是一种编程的思想,跟用什么样的语言没关系
yuepengfei 2005-05-27
  • 打赏
  • 举报
回复
牛人快来帮忙呀!
yuepengfei 2005-05-26
  • 打赏
  • 举报
回复
大家帮帮忙呀!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧