易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 分区拆分 不能插入数据 01502 索引失效

数据表day_energy当前为月分区表,分区信息如下:DE_200912,DE_201001,DE_201002.....,月分区表出现速度查询慢,因此通过建立日分区表进行改善。
拆分月分区表的语句为:
alter table day_energy split partition de_201001 at('20100102') into (partition de_20100101,partition de_20100102)
分析:
alter table 表名 split partition 分区名 at (分割日期) into (新分区1,新分区2);
如果简单的分区1个月的表,比较简单,但是如果要拆分一年的表,那就太复杂了。为了简单实现所以就通过以下这个过程进行批量拆分:
-- czc 拆分分区表
--将月分区表拆分成日分区表
declare
  v_tbl     varchar2(56);
  v_partion varchar2(56);
  datetime  date;
  v_sql     varchar2(1024);
  v_dt0     varchar2(8);
  v_dt1     varchar2(8); 
begin
  datetime:=to_date('2010-11-1','yyyy-MM-dd');
  v_tbl:='day_energy';
  while to_char(datetime,'yyyyMMdd')!='20110101' loop
     if to_char(datetime,'MM')=to_char(datetime+1,'MM') then
       v_dt0:=to_char(datetime,'yyyyMMdd');
       v_dt1:=to_char(datetime+1,'yyyyMMdd');
       if to_number(to_char(datetime,'dd'))=1 then
        v_partion:='DE_'||to_char(datetime,'yyyyMM');
       else
        v_partion:='DE_'||to_char(datetime,'yyyyMMdd');
       end if;
       v_sql:='alter table '||v_tbl||' split partition '||v_partion||' at ('''||v_dt1||''') into (partition DE_'||v_dt0||', partition DE_'||v_dt1||');';
       dbms_output.put_line(v_sql);
       --execute immediate v_sql;
     end if;
     datetime:=datetime+1;
  end loop;
end;
但是出问题了,发现da


相关文档:

Oracle:查找表的主键,外键,唯一性约束,索引

束,索引
1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu ......

oracle 约束(constraint)的几个参数的小研究

首先搞清下几个概念:
ORACLE中,约束分deferred 跟 immediate 2种:
  deferred:如果 Oracle 在事务提交(commit)时才对约束执行检查,则称此约束是延迟的(deferred)。如果数据违反了延迟约束,提交操作将导致事务被回滚(undo)。
  immediate:如果约束是即时的(immediate)(非延迟的),则此约束将在 ......

Oracle MATERIALIZED VIEW 创建物化视图

物化视图概述
Oracle的物化视图提供了强大的功能,可以用在不同的环境中。在不同的环境中,物化视图的作用也不相同。数据仓库中的物化视图主要用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。在数据仓库中,还经常使用查询重写(query r ......

Oracle左右全连接总结

--建立测试数据
create table a(id number);
create table b(id number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
insert into b values(1);
insert into b values(2);
insert into b values(4);
commit;
--左:
--主流数据库通用的方法
select * from a left ......

oracle日期函数

oracle日期函数,
      TO_DATE格式
  Day:
  dd number 12
  dy abbreviated fri
  day spelled out friday
  ddspth spelled out, ordinal twelfth
  Month:
  mm number 03
  mon abbreviated mar
  month spelled out march
  Year:
  yy two ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号