The function is clearly there, because I can navigate to it using SQL Developer and it compiles all fine, but when I try to use the function with or without "call", it throws:
Error(36,24): PLS-00222: no function with name 'x' exists in this scope
This is how the function looks like:
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;
This is how I'm calling it:
messaget := testfunction(somevalue);
where both messageT and somevalue are declared as varchar2 type.
Are cursors not allowed inside function or something like that?