夢(mèng)幻之旅

          DEBUG - 天道酬勤

             :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評(píng)論 :: 0 Trackbacks
          create table temp_127
          (
            id 
          number(10),
            dtime date
          );



          create or replace PROCEDURE UT_REDIRECTOR_COUNT(id in number)
          IS
            s_table_name 
          VARCHAR2(32);
            s_sql 
          VARCHAR2(2000);
            t_count 
          NUMBER;
            c_count 
          NUMBER;
          BEGIN
            
          --根據(jù)組ID生成組資源表的表名
            s_table_name := 'EMAILS_' ||id;
            
          --查詢此表是否存在的SQL
            --s_sql := 'SELECT COUNT(*) FROM user_tables WHERE TABLE_NAME = ''' || s_table_name || '''';
            --EXECUTE IMMEDIATE s_sql INTO t_count;
            EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = :t1'
              
          into t_count USING s_table_name;
            
          --如果表是否存在
            IF t_count = 1 THEN
              
          --查詢此表是否有此列
              --s_sql := 'SELECT COUNT(*) from USER_TAB_COLUMNS WHERE table_name=''' || s_table_name || ''' AND column_name = ''FIRST_NAME''';
              --dbms_output.put_line(s_sql);
              EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME=:t2 AND COLUMN_NAME = ''FIRST_NAME'''
                 
          into c_count USING s_table_name;
              
          --EXECUTE IMMEDIATE s_sql INTO c_count;
              --dbms_output.put_line('存在表:' || s_table_name);
              IF c_count = 0 THEN
                  s_sql :
          = 'ALTER TABLE ' || s_table_name || ' ADD (REDIRECTOR_COUNT INT,FIRST_NAME VARCHAR2(256),LAST_NAME VARCHAR2(256),CONTENT_0 VARCHAR2(256),CONTENT_1 VARCHAR2(256),CONTENT_2 VARCHAR2(256))';
                  
          EXECUTE IMMEDIATE s_sql;
                  
          --dbms_output.put_line('沒(méi)有字段:' || 'unsubscribe' || s_sql);
                  s_sql := 'ALTER TABLE ' || s_table_name || ' MODIFY REDIRECTOR_COUNT DEFAULT 0';
                  
          EXECUTE IMMEDIATE s_sql;
                  
          COMMIT;
              
          END IF;
            
          END IF;
            
            exception
              
          when others then
                
          insert into temp_127(id,dtime)
                  
          values(id,sysdate);
                
          commit;
          END;

          declare
            
          cursor cur is
              
          SELECT * 
                
          FROM groups ORDER BY update_time desc;
            
            rec cur
          %rowtype;
            progress_num 
          varchar2(56);
            
          begin
            
          open cur;
            loop
              
          fetch cur into rec;
              
          exit when cur%notfound;
              
              UT_REDIRECTOR_COUNT(rec.id);
              
              progress_num:
          = 'email_'||rec.id;
              
              dbms_application_info.set_client_info(progress_num);
            
          end loop;
            
          close cur;
          end;

          select client_info from v$session where client_info is not null;
          posted on 2008-12-07 17:26 HUIKK 閱讀(252) 評(píng)論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 阳谷县| 衡东县| 塔河县| 华宁县| 锡林浩特市| 南城县| 成安县| 双桥区| 玉门市| 滕州市| 长寿区| 米脂县| 卓尼县| 绍兴市| 桃江县| 平远县| 阳谷县| 昌邑市| 南乐县| 金山区| 黄浦区| 唐山市| 镇沅| 金秀| 阿瓦提县| 万荣县| 长子县| 同仁县| 黄山市| 晋中市| 横山县| 磐安县| 邮箱| 宜良县| 休宁县| 吉首市| 开原市| 汉川市| 达州市| 苍南县| 奉新县|