夢幻之旅

          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 閱讀(160) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 寿宁县| 廊坊市| 金门县| 广河县| 开封市| 扎鲁特旗| 花莲市| 南汇区| 开平市| 东乡族自治县| 石屏县| 富蕴县| 太原市| 宜春市| 博爱县| 邻水| 瑞丽市| 马关县| 凤冈县| 原阳县| 莲花县| 北票市| 巴彦县| 集安市| 聂荣县| 大冶市| 阳高县| 德江县| 霍邱县| 北川| 淮滨县| 清水县| 海口市| 平顺县| 潍坊市| 华蓥市| 林芝县| 股票| 怀安县| 西平县| 武鸣县|