如果表已分区,是否可以在Oracle中使用本地索引作为主键?例如,如果表的列为A, B, C, D, E,按A和B进行分区,并且所需的主键位于列A, B, C, D上,那么C, D上的本地索引是否可以用作主键?
A, B, C, D, E
A
B
A, B, C, D
C, D
ojsjcaue1#
本地唯一索引必须带有前缀,即索引的前导列必须是分区键。因此,唯一索引必须位于(A, B, C, D)上。
(A, B, C, D)
sirbozc52#
创建表Tab 1(A编号,B编号)分区,按列表(A)(分区p1值(1),分区p2值(2),分区pmax值(默认值))/创建表。SQL〉alter table Tab 1使用索引local / Table altered添加约束t1_pk主键(A,B)。
2条答案
按热度按时间ojsjcaue1#
本地唯一索引必须带有前缀,即索引的前导列必须是分区键。因此,唯一索引必须位于
(A, B, C, D)
上。sirbozc52#
创建表Tab 1(A编号,B编号)分区,按列表(A)(分区p1值(1),分区p2值(2),分区pmax值(默认值))/创建表。
SQL〉alter table Tab 1使用索引local / Table altered添加约束t1_pk主键(A,B)。