oracle怎么删分区表,oracle 删除分区表

ORACLE分区表用什么方法删除一个分区的所有数据

这个要看你的业务要不要备份保留这个分区的数据,如果不需要保留,可以直接truncate/drop分区的,如果要保留,可以用交换分区方法;

创新互联建站是专业的三穗网站建设公司,三穗接单;提供网站制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行三穗网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

具体步骤:

1.不保留,直接删除:

alter

table

table_name

drop/truncate

partition

partition_name;

具体用drop还是truncate,得你自己衡量,drop的话原来的分区和数据直接就没有了,truncate的话,只是数据没有了,分区还在。

2.保留数据作为备份,交换分区

2.1创建一个表结构一样的表:

create

table

teable_bak

as

select

*

from

table_name

where

1=2;

--只要表结构,不要数据;

2.2分区交换

alter

table

table_name

exchange

partition

partition_name

with

table

table_bak;

这样执行后,分区partition_name的数据就会交换到table_bak中,table_bak的数据(刚刚建的空表)就会到分区里面去。

oracle中怎么删除分区表?

可以用 ALTER TABLE DROP PARTITION 来删除分区,元数据和数据将被一并删除。

全删除

ALTER TABLE yourTable DROP PARTITION partionName1;

清数据

ALTER TABLE yourTable TRUNCATE PARTITION partionName1;

语句虽简单、操作需谨慎。

ORACLE能不能一次删除或者清空多个分区

oracle是没有直接删除全部分区或多个分区的语句,但是可以变通方法

方法一:先备份表,再删除表、重新创建表;

方法二:拼接

sql语句

,比如

SELECT

'ALTER

TABLE

LOG_INFO

DROP

PARTITION

'

||

PARTITION_NAME

||

';'

FROM

USER_TAB_PARTITIONS

WHERE

TABLE_NAME

=

'LOG_INFO';

可以列出删除所有分区的语句,全部执行即可。

oracle中如何动态删除分区数据

可以用

ALTER

TABLE

DROP

PARTITION

来删除分区,元数据和数据将被一并删除。

全删除

ALTER

TABLE

yourTable

DROP

PARTITION

partionName1;

清数据

ALTER

TABLE

yourTable

TRUNCATE

PARTITION

partionName1;

语句虽简单、操作需谨慎。


文章标题:oracle怎么删分区表,oracle 删除分区表
转载来源:http://azwzsj.com/article/dscddij.html