Sign-up....

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

我在一个包中写了一个函数a,在函数中递归调用自己,编译的时候提示我a不是一个过程或者未定义,我直接create or replace function创建之后,在递归调用自己没有任何问题,难道包中的函数不能递归调用自己吗?还是需要特殊的写法?

请大家帮忙,谢谢!

[133 byte] By [msdn] at [2007-10-1 16:51:04]
# 1 Re: 在一个package中的function不能递归调用自己吗?

大家帮帮忙呀!

yuepengfei at 2005-5-26 19:08:23 >
# 2 Re: 在一个package中的function不能递归调用自己吗?

牛人快来帮忙呀!

yuepengfei at 2005-5-27 8:25:24 >
# 3 Re: 在一个package中的function不能递归调用自己吗?

当然可以给你个 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;

递归只是一种编程的思想,跟用什么样的语言没关系

zzwind5 at 2005-5-27 8:42:01 >
# 4 Re: 在一个package中的function不能递归调用自己吗?

你在调用自身函数的时候加上 用户名 和 包名

不行就是你的函数写错了,在PL/SQL中递归我用过没什么问题的

zzwind5 at 2005-5-27 8:45:51 >
# 5 Re: 在一个package中的function不能递归调用自己吗?

在递归的时候是不是没有接收值啊,我以前也遇到过,后来查了下,是没接收值

PPLUNCLE at 2005-5-27 11:49:57 >

Oracle

All Classified