Oracle分区表学习及练习

本文介绍Oracle数据库中分区表的基本操作,包括创建、增加、删除分区,以及如何进行数据查询和导出等。同时展示了如何调整分区表结构,如分裂、合并分区及更改表空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- Create table(创建分区表)
  
  create table BILL_MONTHFEE_ZERO
  (
  SERV_ID       NUMBER(20) not null,
  BILLING_CYCLE_MONTH NUMBER(6) not null,
  DATE_TYPE      NUMBER(1),
  ACC_NBR       VARCHAR2(80)
  )
  partition by range (BILLING_CYCLE_MONTH)
  (partition p_200407 values less than (200407)
  tablespace TS_ZIKEN
  storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0),
  partition p_200408 values less than (200408)
  tablespace TS_ZIKEN
  storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0))
  ;
  create index idx_bill_monthfee_zero_idx01 on bill_monthfee_zero(billing_cycle_month)
  tablespace TS_ZIKEN_idx
  storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0) nologging;
  grant all on bill_monthfee_zero to dxsq_dev;
  
  --增加分区表
  
  alter table BILL_MONTHFEE_ZERO add Partition p_200409
  values less than (200409) tablespace ts_ziken;
  
  --删除一分区
  
  alter table part_tbl drop Partition part_tbl_08;
  
  --将一个分区分为两个分区
  
  alter table bill_monthfee_zero split Partition p_200409 at (200409)
  into (Partition p_200409_1 tablespace ts_ziken,
  Partition p_200409_2 tablespace ts_ziken_idx);
  
  --合并分区
  
  ALTER TABLE bill_monthfee_zero
  MERGE PARTITIONS p_200408, p_200409 INTO PARTITION p_all
  
  --将分区改名
  
  alter table bill_monthfee_zero rename Partition p_200408 to p_fee_200408
  
  --将分区改表空间
  
  alter table bill_monthfee_zero move Partition p_200409
  tablespace ts_ziken_01 nologging
  
  --查询特定分区
  
  select count(*) from BILL_MONTHFEE_ZERO partition (p_200407);
  
  --添加数据
  
  insert into bill_monthfee_zero select * from bill_monthfee_zero partition (p_200407)
  
  --分区表的导出
  

  userid=dxsq/teledoone@jndxsq154
  buffer=102400
  tables=bill_monthfee:P_200401,
  file=E:/exp_para/exp_dxsq_tables.dmp
  log=E:/exp_para/exp_dxsq_tables.log
  
  技巧:
  
  删除表中一个字段:
  
  alter table bill_monthfee_zero set unused column date_type;
  添加一个字段:alter table bill_monthfee_zero add date_type number(1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值