网站首页 > 文章中心 > 其它

oracle怎么删除分区

作者:小编 更新时间:2023-10-14 18:07:20 浏览量:230人看过

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

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

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

方法二:拼接

sql语句

,比如

SELECT

'ALTER

TABLE

LOG_INFO

DROP

PARTITION

'

||

PARTITION_NAME

';'

FROM

USER_TAB_PARTITIONS

WHERE

TABLE_NAME

=

'LOG_INFO';

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

Oracle创建分区表操作

①.、创建语句

create table p(id number)

partition by range(id)

(partition p1 values less than(100) tablespace t1,

alter table p trunc partition p1;

alter table p drop partition p1;

oracle 有全局索引怎么删除分区

ALTER

用于删除table中某个PARTITION和其中的数据,主要是用于历史数据的删除.如果还想保留数据,就需要合并到另一个partition中.

删除该partition之后,如果再insert该partition范围内的值,要存放在更高的partition中.如果你删除了最大的partition,就会出错.

删除table

partition的同时,删除相应的local

index.即使该index是IU状态.

如果table上有global

index,且该partition不空,drop

partition会使所有的global

index

为IU状态.如果不想REBUIL

INDEX,可以用SQL语句手工删除数据,然后再DROP

PARTITION.

例子:

ALTR

ATBEL

sales

到底是DROP

PARTITION或者是DELETE?

如果GLOBAL

INDEX是最重要的,就应该先DELETE

数据再DROP

在下面情况下,手工删除数据的代价比DROP

PARTITION要小

-

如果要删除的数据只占整个TABLE的小部分

在TABLE中有很多的GLOBAL

INDEX.

PARTITION要大

如果要删除的数据占整个TABLE的绝大部分

在TABLE中没有很多的GLOBAL

如果在TABLE是父TABLE,有被引用的约束,且PARTITION不空,DROP

PARTITION时出错.

如果要删除有数据的PARTITION,应该先删除引用约束.或者先DELETE,然后再DROP

如果TABLE只有一个PARTITON,不能DROP

PARTITION,只能DROP

TABLE.

以上就是土嘎嘎小编为大家整理的oracle怎么删除分区相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章