ITPub博客

首页 > 数据库 > Oracle > en_concat函数编译失败处理

en_concat函数编译失败处理

原创 Oracle 作者:老w爱db 时间:2022-10-08 17:57:25 0 删除 编辑

近日,某项目组反馈en_concat函数编译报错

处理方法:

一、创建type:

CREATE OR REPLACE TYPE "EN_CONCAT_IM" 

  AUTHID CURRENT_USER AS OBJECT 

  ( 

    CURR_STR VARCHAR2(32767), 

    STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT en_concat_im) RETURN NUMBER, 

    MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT en_concat_im, 

          P1 IN VARCHAR2) RETURN NUMBER, 

    MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN en_concat_im, 

                RETURNVALUE OUT VARCHAR2, 

                FLAGS IN NUMBER) 

          RETURN NUMBER, 

    MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT en_concat_im, 

         SCTX2 IN  en_concat_im) RETURN NUMBER 

  ); 

二、创建type body


CREATE OR REPLACE TYPE BODY "EN_CONCAT_IM" 

  IS 

    STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT en_concat_im) 

    RETURN NUMBER 

    IS 

    BEGIN 

     SCTX := en_concat_im(NULL) ; 

     RETURN ODCICONST.SUCCESS; 

    END; 

    MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT en_concat_im, 

           P1 IN VARCHAR2) 

    RETURN NUMBER 

    IS 

    BEGIN 

     IF(CURR_STR IS NOT NULL) THEN 

       CURR_STR := CURR_STR || ',' || P1; 

     ELSE 

       CURR_STR := P1; 

     END IF; 

     RETURN ODCICONST.SUCCESS; 

    END; 

    MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN en_concat_im, 

                RETURNVALUE OUT VARCHAR2, 

                FLAGS IN NUMBER) 

     RETURN NUMBER 

    IS 

    BEGIN 

     RETURNVALUE := CURR_STR ; 

     RETURN ODCICONST.SUCCESS; 

    END; 

    MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT en_concat_im, 

            SCTX2 IN en_concat_im) 

    RETURN NUMBER 

    IS 

    BEGIN 

     IF(SCTX2.CURR_STR IS NOT NULL) THEN 

       SELF.CURR_STR := SELF.CURR_STR || ',' || SCTX2.CURR_STR ; 

     END IF; 

     RETURN ODCICONST.SUCCESS; 

    END; 

  END; 


三、重新编译en_concat函数


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70021989/viewspace-2917267/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
数据库技术爱好者

注册时间:2022-09-12

  • 博文量
    75
  • 访问量
    67616