oracle 如何将关联数组作为存储函数的参数进行传递?

y0u0uwnf  于 2022-11-03  发布在  Oracle
关注(0)|答案(1)|浏览(128)

我想在存储函数中传递一个数组,但它不想编译,我不知道我做错了什么。
我的爱好:

TYPE etages IS TABLE OF NUMBER
  INDEX BY pls_integer;
  etage  etages;
  ID  number;

我的功能标题:

FUNCTION SHOWRES
 (P_OBJET IN NUMBER
 ,P_DATE_DEBUT IN DATE
 ,P_DATE_FIN IN DATE
 ,PERIODE IN VARCHAR2
 ,P_LIBELLE IN VARCHAR2
 ,P_ENTETE_CAL IN VARCHAR2
 ,P_DETAIL IN VARCHAR2
 ,P_USERID IN VARCHAR2
 ,P_USER IN VARCHAR2
 ,P_SOCIETE IN VARCHAR2
 ,P_COLSPAN IN VARCHAR2
 ,P_INTERVAL_BASE IN NUMBER
 ,P_INTERVAL IN OUT NUMBER
 ,p_reservations IN etages
 ) RETURN BOOLEAN;
rn0zuynd

rn0zuynd1#

下面是一个工作示例:

DECLARE
  TYPE etagestyp IS TABLE OF NUMBER INDEX BY pls_integer;
  l_etage  etagestyp;
  FUNCTION etagecount (p_etages etagestyp) RETURN NUMBER
  IS
  BEGIN
    RETURN p_etages.COUNT;
  END;
BEGIN
  l_etage(1) := 100;
  l_etage(2) := 200;
  dbms_output.put_line(etagecount(l_etage));
END;
/

2

PL/SQL procedure successfully completed.

要知道代码中的错误是不可能的,但是这个例子可以引导你朝着正确的方向前进。

相关问题