首页 > 其他分享 >更改表

更改表

时间:2022-10-05 13:33:26浏览次数:39  
标签:更改 clause 分区 inmemory 子句 table ALTER

使用ALTER TABLE语句更改非分区表、分区表、表分区或表子分区的定义。对于对象表或具有对象列的关系表,在更改类型后,使用ALTER TABLE将表转换为其引用类型的最新定义。

注意:Oracle建议您尽可能使用ALTER MATERIALIZED VIEW LOG语句,而不是ALTER TABLE来对物化视图日志表进行操作。

先决条件

该表必须在您自己的架构中,或者您必须具有该表的ALTER对象权限,或者您也必须具有ALTER ANY table系统权限。

分区操作的其他先决条件

如果您不是表的所有者,那么您需要DROP ANY table特权才能使用DROP_table_partition或truncate_table_partification子句。

为了使用add_table_partition、modify_table_pPartition、move_table_partition和split_table_ppartition子句,还必须在要获取空间的表空间中设置空间配额。

当分区操作级联到引用已分区的子表时,不需要对引用已分区子表拥有特权。

在使用exchange_partition_subpart子句时,如果要交换的表数据包含标识列,并且您不是交换中涉及的两个表的所有者,那么您必须具有ALTER ANY SEQUENCE系统权限。

不能对具有对象类型的未分区表进行分区。

约束和触发器的其他先决条件

要启用唯一键或主键约束,您必须具有在表上创建索引所需的权限。您需要这些权限,因为 Oracle 数据库会在包含表的模式中的唯一键或主键的列上创建索引。

要启用或禁用触发器,触发器必须在您的架构中,或者您必须具有ALTER ANY TRIGGER系统权限。

更改表

 

注意:必须在表后指定一些子句。表后的子句都不是必需的,但必须至少指定其中一个。

memoptimize_read_clause

 

 memoptimize_write_clause

 

alter_table_properties

 

 注意:如果指定MODIFY CLUSTERING子句,则必须至少指定一个子句CLUSTERING_when或zonemap_clause。

physical_attributes_clause

 

 logging_clause

 

 

table_compression

 

 

inmemory_table_clause

 

 

inmemory_attributes

 

 inmemory_memcompress

 

 inmemory_priority

 

 inmemory_distribute

 

 inmemory_duplicate

 

 inmemory_column_clause

 

 略。。。。。https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-TABLE.html#GUID-552E7373-BF93-477D-9DA3-B2C9386F2877

 

标签:更改,clause,分区,inmemory,子句,table,ALTER
From: https://www.cnblogs.com/wonchaofan/p/16755442.html

相关文章