夢幻之旅

          DEBUG - 天道酬勤

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

          公告

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

          常用鏈接

          留言簿(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
                
          --拼接創建表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)'
                            
          ||')';
              
          -- 拼接創建索引1SQL
              v_sql_index1 := 'create index '||tableName||'_index1 on '||tableName||' (task_id)';
              
              
          -- 拼接創建索引2SQL
              v_sql_index2 := 'create index '||tableName||'_index2 on '||tableName||' (category asc)';
              
              
          -- 拼接創建觸發器的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;';
              
              
          -- 執行創建表
              EXECUTE IMMEDIATE v_sql_table;
              
          -- 執行創建SQL
              EXECUTE IMMEDIATE v_sql_index1;
              
          -- 執行創建SQL
              EXECUTE IMMEDIATE v_sql_index2;
              
          -- 創建觸發器
              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 閱讀(181) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 无极县| 钦州市| 绥滨县| 琼结县| 青铜峡市| 剑河县| 德惠市| 石阡县| 万年县| 纳雍县| 苗栗市| 新野县| 长宁县| 龙门县| 剑川县| 阳春市| 从化市| 光泽县| 泰兴市| 额济纳旗| 卢湾区| 司法| 安岳县| 连平县| 佳木斯市| 台北市| 会东县| 巴彦淖尔市| 郸城县| 天峻县| 潢川县| 嘉义县| 连云港市| 六盘水市| 沭阳县| 靖安县| 清新县| 永宁县| 裕民县| 武义县| 乐平市|