Oracle 动态建立分区表

由于数据太多为了加快检索

将一个表建为分区表

在数据插入是动态添加临时表

as

  -- Local variables here
  fq_dm varchar(30);
  p_count number;
 -- p_fadm number;
  p_sql varchar(100);
begin
  -- Test statements here
  --查询zkz的所有分区
--  SELECT partition_name FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='zhz_mn_fq';
    
   fq_dm:='ZHZ_MN_FQ'||p_FA_DM; --分区名称
  
 
  select count(*) into p_count from useR_TAB_PARTITIONS WHERE TABLE_NAME='ZKZ_MN_FQ' and partition_name=fq_dm;
  if p_count=0 then --如果不存在该分区这创建该分区
     p_sql:='alter table zkz_mn_fq add partition '||fq_dm||' values ('||p_FA_DM||') tablespace USERS';
     execute immediate p_sql;
   end if;
  
   insert into mn_fq values(p_ZH,p_K_ID,    p_Z    ,p_BM,    p_XQ,    p_DQ    ,p_FA_DM);
   commit;
    

 

posted @ 2014-08-09 19:54  -琥珀川-  阅读(2050)  评论(0编辑  收藏  举报