0

私はテーブル値関数を持っています:

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" は認識されず、宣言する必要があると主張します。これに間違った構文を使用していますか?

編集:別のスキーマから関数を呼び出します。

4

0 に答える 0