该函数显然在那里,因为我可以使用 SQL Developer 导航到它并且它编译得很好,但是当我尝试使用带有或不带有“调用”的函数时,它会抛出:
错误(36,24):PLS-00222:此范围内不存在名称为“x”的函数
这是函数的样子:
create or replace function testfunction
(
somevalue in varchar2
)
return varchar2
AS
cursor testcursor IS
select column1, column2 from table1 t
where t.column1 = somevalue;
testcursorrec testcursor %rowtype;
messaget VARCHAR2(500);
begin
open testcursor ;
fetch testcursor into testcursorrec ;
close testcursor ;
messaget := testcursor.column1;
return messaget ;
end;
这就是我所说的:
messaget := testfunction(somevalue);
其中 messageT 和 somevalue 都被声明为 varchar2 类型。
函数内部是否不允许使用游标或类似的东西?