夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          <2011年6月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          公告

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

          常用鏈接

          留言簿(21)

          隨筆分類(644)

          隨筆檔案(669)

          文章檔案(6)

          最新隨筆

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          CREATE OR REPLACE PROCEDURE pro_create_data_table_trigger(tableName in varchar2IS
              v_sql_table  
          VARCHAR2(4000);
              v_sql_index1 
          VARCHAR2(512);
              v_sql_index2 
          VARCHAR2(512);
              v_sql_trigger  
          VARCHAR2(4000);
          BEGIN
                
          --拼接創(chuàng)建表SQl
              v_sql_table:='create table '||tableName||' ('
                            
          ||'ID                   NUMBER                          not null,'
                            
          ||'TASK_ID              NUMBER,'
                            
          ||'USER_ID              NUMBER,'
                            
          ||'PROJECT_ID           NUMBER,'
                            
          ||'DATA_TYPE            NUMBER,'
                            
          ||'EMAIL                VARCHAR2(64),'
                            
          ||'CONTENT3             VARCHAR2(64),'
                            
          ||'CONTENT2             VARCHAR2(64),'
                            
          ||'CONTENT1             VARCHAR2(64),'
                            
          ||'REAL_STATUS          NUMBER,'
                            
          ||'SHAM_STATUS          NUMBER,'
                            
          ||'OPEN_TIME            DATE,'
                            
          ||'OPEN_COUNT           NUMBER,'
                            
          ||'OPEN_IP              VARCHAR2(64),'
                            
          ||'OPEN_CITY            VARCHAR2(64),'
                            
          ||'CLICK_TIME           DATE,'
                            
          ||'CLICK_COUNT          NUMBER,'
                            
          ||'CLICK_IP             VARCHAR2(64),'
                            
          ||'CLICK_CITY           VARCHAR2(64),'
                            
          ||'REGISTE_TIME         DATE,'
                            
          ||'SEND_TIME            DATE,'
                            
          ||'SEND_IP              VARCHAR2(64),'
                            
          ||'SEND_NAME            VARCHAR2(64),'
                            
          ||'RESEND_COUNT         NUMBER,'
                            
          ||'CATEGORY             VARCHAR2(64),'
                            
          ||'LOCAL_CODE           VARCHAR2(64),'
                            
          ||'LOCAL_MSG            VARCHAR2(128),'
                            
          ||'ESP_CODE             VARCHAR2(64),'
                            
          ||'ESP_MSG              VARCHAR2(128),'
                            
          ||'DELETE_FLAG          NUMBER,'
                            
          ||'CREATE_TIME          DATE,'
                            
          ||'REMARK               VARCHAR2(256),'
                            
          ||'constraint PK_'||tableName||' primary key (ID)'
                            
          ||')';
              
          -- 拼接創(chuàng)建索引1SQL
              v_sql_index1 := 'create index '||tableName||'_index1 on '||tableName||' (task_id)';
              
              
          -- 拼接創(chuàng)建索引2SQL
              v_sql_index2 := 'create index '||tableName||'_index2 on '||tableName||' (category asc)';
              
              
          -- 拼接創(chuàng)建觸發(fā)器的SQL
              v_sql_trigger := 'create or replace trigger zuc_'||tableName
                               
          ||' before insert or update '
                               
          ||' of email '
                               
          ||' on '||tableName
                               
          ||'  for each row '
                               
          ||'DECLARE'
                               
          ||'      v_category  VARCHAR2(64);'
                               
          ||'BEGIN'
                               
          ||'      SELECT esp_name INTO v_category'
                               
          ||'             FROM ex_edm_esp'
                               
          ||'             WHERE mail_suffix=SUBSTR(:new.email,INSTR(:new.email,''@'',1,1)+1, LENGTH(:new.email));'
                               
          ||'      :new.category := v_category;'
                               
          ||'EXCEPTION'
                               
          ||'      WHEN no_data_found THEN'
                               
          ||'          :new.category := ''未知'';'
                               
          ||'      WHEN too_many_rows THEN'
                               
          ||'          :new.category := ''未知'';'
                               
          ||'      WHEN OTHERS THEN'
                               
          ||'          :new.category := ''未知'';'
                               
          ||'END;';
              
              
          -- 執(zhí)行創(chuàng)建表
              EXECUTE IMMEDIATE v_sql_table;
              
          -- 執(zhí)行創(chuàng)建SQL
              EXECUTE IMMEDIATE v_sql_index1;
              
          -- 執(zhí)行創(chuàng)建SQL
              EXECUTE IMMEDIATE v_sql_index2;
              
          -- 創(chuàng)建觸發(fā)器
              EXECUTE IMMEDIATE v_sql_trigger;
          END;
          CREATE OR REPLACE TRIGGER create_data_table_trigger
              BEFORE 
          INSERT
                
          ON ex_edm_data_table
                
          FOR EACH ROW
          DECLARE
              PRAGMA AUTONOMOUS_TRANSACTION;
          BEGIN 
               pro_create_data_table_trigger(:new.table_name);    
          END create_data_table_trigger;
          posted on 2011-06-18 18:43 HUIKK 閱讀(183) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 襄城县| 化德县| 开鲁县| 全南县| 颍上县| 杭锦旗| 恩施市| 屯留县| 蓝山县| 焉耆| 中山市| 昌乐县| 凉城县| 梨树县| 朝阳县| 栾川县| 龙南县| 慈利县| 皮山县| 衡东县| 开平市| 大理市| 绵阳市| 康定县| 汤原县| 军事| 弥渡县| 东宁县| 岐山县| 资溪县| 秦安县| 日土县| 资中县| 白沙| 岱山县| 吉木萨尔县| 大方县| 伊宁市| 深州市| 安吉县| 东明县|