夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          公告

          本博客中未注原創的文章均為轉載,對轉載內容可能做了些修改和增加圖片注釋,如果侵犯了您的版權,或沒有注明原作者,請諒解

          常用鏈接

          留言簿(21)

          隨筆分類(644)

          隨筆檔案(669)

          文章檔案(6)

          最新隨筆

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          create or replace Procedure Pro_Drivemail_Open
          Is
            V_SQL  VARCHAR2(5000);
            --CNT    NUMBER;

          BEGIN
            --SELECT COUNT(*) INTO CNT FROM TAB WHERE TNAME LIKE 'TASK_EMAILS_%' AND LENGTH(SUBSTR(TNAME,INSTR(TNAME,'_',1,2)+1))>=6;

               FOR C IN (SELECT * FROM TAB WHERE TNAME LIKE 'TASK_EMAILS_%' AND LENGTH(SUBSTR(TNAME,INSTR(TNAME,'_',1,2)+1))>=6) LOOP
                  V_SQL:='INSERT /*+ APPEND */ INTO EDM_SYSTEM_SEND_TMP NOLOGGING
                          (ID,EMAIL,OPEN_TIME,SENDING_TIME,OPEN,CLICK)
                          SELECT ID,EMAIL,OPEN_TIME,SENDING_TIME,OPEN,CLICK
                            FROM '||C.TNAME||' WHERE ACTIVE = 1 AND SENDING_TIME IS NOT NULL';
                   --dbms_output.put_line(v_sql);
                   EXECUTE IMMEDIATE V_SQL;
                   COMMIT;
               END LOOP;
          --------------------------------------------------------------------

               INSERT /*+ APPEND */ INTO EDM_SYSTEM_SEND NOLOGGING
               SELECT A.*,
                      ROW_NUMBER() OVER(PARTITION BY EMAIL ORDER BY NVL(OPEN_TIME,SYSDATE-3650) DESC) AS RK
                 FROM EDM_SYSTEM_SEND_TMP A;
               COMMIT;
          --------------------------------------------------------------------

               INSERT /*+ APPEND */ INTO EDM_SYSTEM_ACTIVE NOLOGGING
                      (EMAIL,SENDDATE_REC,OPENDATE_REC,SENDTIMES_TOT,OPENTIMES_TOT,SENDTIMES_MON,OPENTIMES_MON)
               SELECT A.EMAIL,A.SENDING_TIME,A.OPEN_TIME,B.SENDTIMES_TOT,B.OPENTIMES_TOT,C.SENDTIMES_MON,C.OPENTIMES_MON
                 FROM EDM_SYSTEM_SEND A,   ---ALL Mails Table
                      (SELECT EMAIL,
                              COUNT(*) SENDTIMES_TOT,
                              SUM(CASE WHEN OPEN <> 0 THEN 1 ELSE 0 END) OPENTIMES_TOT
                         FROM EDM_SYSTEM_SEND
                        GROUP BY EMAIL ) B,    ---Total Times Table
                       (SELECT EMAIL,
                              COUNT(*) SENDTIMES_MON,
                              SUM(CASE WHEN OPEN <> 0 THEN 1 ELSE 0 END) OPENTIMES_MON
                         FROM EDM_SYSTEM_SEND
                        WHERE (SENDING_TIME-SYSDATE)<=60
                        GROUP BY EMAIL ) C     ---Month Times Table
                WHERE A.RK = 1
                  AND A.EMAIL = B.EMAIL(+)
                  AND A.EMAIL = C.EMAIL(+);
                Commit;
                DELETE EDM_SYSTEM_SEND_TMP NOLOGGING;
                COMMIT;
          End Pro_Drivemail_Open;


          posted on 2008-05-11 23:52 HUIKK 閱讀(159) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 哈密市| 武乡县| 邳州市| 富锦市| 维西| 洪雅县| 和林格尔县| 定州市| 巴中市| 黄大仙区| 沭阳县| 遂溪县| 岗巴县| 财经| 乌拉特前旗| 浠水县| 大庆市| 呈贡县| 登封市| 福建省| 邵阳县| 丰镇市| 宁城县| 湄潭县| 阳谷县| 阿拉善左旗| 平凉市| 株洲市| 巨鹿县| 封开县| 仲巴县| 呼伦贝尔市| 呼图壁县| 枣阳市| 方山县| 闽清县| 临沂市| 高青县| 平果县| 钟山县| 新宁县|