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タイプとして宣言されています。
関数内などでカーソルを使用することはできませんか?