分区表实例

原创 2012年03月24日 11:06:57

分区表

一、主表

billroute_for_test

 

CREATE TABLE billroute_for_test

(

  bno character varying(12) NOT NULL, -- 运单号

  deszno character varying(12), -- 识别网点

  updatetime timestamp without time zone, -- 更新时间

  CONSTRAINT pk_for_test PRIMARY KEY (bno )

)

WITH (

  OIDS=FALSE

);

二、分区表

CREATE TABLE billroute_for_test_20120323

(

  CONSTRAINT billroute_for_test_20120323_pk PRIMARY KEY (bno ),

  CONSTRAINT billroute_for_test_20120323_updatetime_check CHECK (updatetime >= '2012-03-23 00:00:00'::timestamp without time zone AND updatetime < '2012-03-30 00:00:00'::timestamp without time zone)

)

INHERITS (billroute_for_test)

WITH (

  OIDS=FALSE

);

 

CREATE TABLE billroute_for_test_20120401

(

  CONSTRAINT billroute_for_test_20120401_pk PRIMARY KEY (bno ),

  CONSTRAINT billroute_for_test_20120401_updatetime_check CHECK (updatetime >= '2012-04-01 00:00:00'::timestamp without time zone AND updatetime < '2012-04-15 00:00:00'::timestamp without time zone)

)

INHERITS (billroute_for_test)

WITH (

  OIDS=FALSE

);

三、在主表创建规则

CREATE OR REPLACE RULE billroute_for_test_20120323 AS

    ON INSERT TO billroute_for_test

   WHERE new.updatetime >= '2012-03-23'::date AND new.updatetime < '2012-03-30'::date DO INSTEAD  INSERT INTO billroute_for_test_20120323 (bno, deszno, updatetime)

  VALUES (new.bno, new.deszno, new.updatetime);

 

CREATE OR REPLACE RULE billroute_for_test_20120401 AS

    ON INSERT TO billroute_for_test

   WHERE new.updatetime >= '2012-04-01'::date AND new.updatetime < '2012-04-15'::date DO INSTEAD  INSERT INTO billroute_for_test_20120401 (bno, deszno, updatetime)

  VALUES (new.bno, new.deszno, new.updatetime);

 

三、验证

 

插入数据

INSERT INTO billroute_for_test(

            bno, deszno, updatetime)

VALUES ('00001','755w','2012-03-23 00:00:00');

 

INSERT INTO billroute_for_test(

            bno, deszno, updatetime)

VALUES ('00002','755w','2012-04-10 00:00:00');

 

查询数据

select * from billroute_for_test_20120323

 

select * from billroute_for_test_20120401

 

select * from billroute_for_test

相关文章推荐

Oracle 分区表操作实例

Oracle 分区表Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle...

PostgreSQL分区表(partitioning)应用实例

关于PosrgreSQL分区表的应用实例~

用数据交换方式把表数据迁移到分区表实例

--把kingstar.emp表的数据迁移到kingstar.EMP_partition分区表中  --创建数据源表结构   drop table kingstar.emp;    create ta...

Oracle分区表详解

  • 2011年12月09日 16:06
  • 56KB
  • 下载

ORACLE分区表的创建

  • 2012年08月30日 18:19
  • 3KB
  • 下载

sparkSQL读取hive分区表的问题追踪

示例读取的table格式为parqut格式,异常堆栈信息: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.lang.St...

用Winhex手动修复分区表

  • 2012年08月30日 19:41
  • 7.86MB
  • 下载

易我分区表医生

  • 2012年07月12日 16:11
  • 54KB
  • 下载

oracle按时间自动创建分区表

首先明确分区表和表分区的区别:表分区是一种思想,分区表示一种技术实现。当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO。oracle分区表是oracle数据库提供的一种表分区的实现形式。...

硬盘分区表维护软件

  • 2011年12月13日 10:05
  • 4.47MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分区表实例
举报原因:
原因补充:

(最多只允许输入30个字)