私はテーブル値関数を持っています:
create or replace
FUNCTION "GetPositionsWithSymbol"
(
par_Symbol "Symbols"."Symbol"%TYPE,
ErrorCode OUT "ErrorDefs"."ErrorCode"%TYPE
)
RETURN "TableTypes"."PositionTable"
型定義は次のとおりです。
create or replace
PACKAGE "TableTypes" AS
TYPE "PositionTable" IS TABLE OF MainSchema."Positions"%ROWTYPE;
END "TableTypes";
この関数を呼び出すときは、次のように結果を反復処理する必要があります。
for rec in (select * from table(MainSchema."GetPositionsWithSymbol"(par_Symbol, ErrorCode)))
loop
var_TotalGivenAmount := var_TotalGivenAmount + rec."Amount";
end loop;
しかし、この構文はエラーになり、オラクルは rec."Amount" は認識されず、宣言する必要があると主張します。これに間違った構文を使用していますか?
編集:別のスキーマから関数を呼び出します。