Oracle的实时-表函数

本文深入探讨了Oracle数据库中的实时表函数,阐述了其在大数据处理中的应用,详细解释了如何利用这些函数进行高效的数据查询和实时分析。通过实例解析,展示了实时表函数如何提升大数据环境下的性能和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE OR REPLACE TYPE RPT_E_COMMERCE_CUSTOMER_DETAIL_ROW AS OBJECT
(
    DEPT_ID                   VARCHAR2(255)                 --事业部ID
    ,DEPT_NM                  VARCHAR2(255)                 --事业部名称
    ,PROJ_ID                  VARCHAR2(255)                 --项目ID
    ,PROJ_NM                  VARCHAR2(255)                 --项目名称
    ,PROJ_CD                  VARCHAR2(255)                 --项目编码
    ,CAM_TRADE_MODE           VARCHAR2(255)                 --操盘方式
    ,IS_MASTER                VARCHAR2(255)                 --是否营销主操
    ,PROJ_STAGE               VARCHAR2(255)                 --项目阶段
    ,IS_XK                    VARCHAR2(255)                 --是否上旭客家
    ,TYPE_ID                  VARCHAR2(255)                 --类型id
    ,TYPE_NAME                VARCHAR2(255)                 --类型名称
    ,TITLE_NAME               VARCHAR2(500)                 --标题名称
    ,USER_NAME                VARCHAR2(255)                 --用户名称
    ,CREATETIME               DATE                          --时间
)

CREATE OR REPLACE TYPE RPT_E_COMMERCE_CUSTOMER_DETAIL_TAB IS TABLE OF RPT_E_COMMERCE_CUSTOMER_DETAIL_ROW
;
/



CREATE OR REPLACE FUNCTION FN_RPT_E_COMMERCE_CUSTOMER_DETAIL
/****************************************************************
  函数中文名: 电商客户明细表
  功能描述:   根据输入的日期区间和IDM短位项目编号,获取电商客户明细表
  编写人:     YQQ
  编写日期:   2021-11-19
  修改记录:
****************************************************************/
(
    I_ST_DT         VARCHAR2,
    I_END_DT        VARCHAR2,
    SRC             VARCHAR2,
    DELIMITER       VARCHAR2
)
RETURN RPT_E_COMMERCE_CUSTOMER_DETAIL_TAB PIPELINED
AS
RSLT_TABLE RPT_E_COMMERCE_CUSTOMER_DETAIL_ROW;
PRAGMA AUTONOMOUS_TRANSACTION;
V_START_DT DATE;
V_END_DT DATE;
BEGIN
    V_START_DT := TO_DATE(I_ST_DT, 'YYYY-MM-DD');
    V_END_DT   := TO_DATE(I_END_DT, 'YYYY-MM-DD') + 1;

-- select  least(TO_DATE(I_END_DT, 'YYYY-MM-DD') + 1, trunc(max(DATETIME))+1) into V_END_DT from ODS.XKJ_OPERATION_PRE;


    INSERT INTO PARA_PROJ_LIST
    (
           IDM_PROJ_ID
           ,KD_PROJ_ID
           ,PROJ_CD
    )
    SELECT T1.IDM_PROJ_ID
           ,T1.KD_PROJ_ID
           ,T1.PROJ_CD
      FROM ODS.T02_PROJ_TREE T1
     INNER JOIN (
           SELECT B.ORGDEPID AS PORJGUID
             FROM TABLE(FN_TKT_MAP_STR(SRC, DELIMITER)) A
            INNER JOIN V_MY_IDM_PROJ_SHORT B
                  ON A.COLUMN_VALUE = B.SHORT_ORGDEPID
           ) T2
           ON T1.IDM_PROJ_ID = T2.PORJGUID
    ;

    INSERT INTO IDM_TO_JD_TEP
    SELECT B.P_PROJECTID
      FROM MV_MYS_P_PROJECT B
     INNER JOIN MV_MY_IDM_PROJ_RELA A
           ON (A.PROJGUID = B.PARENTGUID OR A.PROJGUID = B.P_PROJECTID)
     WHERE A.ORGDEPID IN (
           SELECT IDM_PROJ_ID AS PORJGUID
             FROM PARA_PROJ_LIST
           )
    ;

    FOR MYROW IN (
                SELECT /*+ LEADING(T1, T2) */
                      T2.DEPT_ID
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值