Oracle12c 如何将所有值传递到列表分区中
作为我的头衔,我遇到了这样的麻烦: 我有一个名为DISTRICT的非分区表,现在我想使用DBMS_重新定义将非分区表更改为分区表 我创建了一个克隆表,该表具有与DISTRICT表相同的列数据类型:Oracle12c 如何将所有值传递到列表分区中,oracle12c,database-partitioning,Oracle12c,Database Partitioning,作为我的头衔,我遇到了这样的麻烦: 我有一个名为DISTRICT的非分区表,现在我想使用DBMS_重新定义将非分区表更改为分区表 我创建了一个克隆表,该表具有与DISTRICT表相同的列数据类型: CREATE TABLE PAR.DISTRICT_CLONE ( ID NUMBER(10,0), DISTRICT_NAME VARCHAR2(1000) , STATUS NUMBER(10,0), LASTUPDATE DATE, CREATEBY VARCHAR2(100
CREATE TABLE PAR.DISTRICT_CLONE (
ID NUMBER(10,0),
DISTRICT_NAME VARCHAR2(1000) ,
STATUS NUMBER(10,0),
LASTUPDATE DATE,
CREATEBY VARCHAR2(1000) ,
UPDATEBY VARCHAR2(1000),
CONSTRAINT PK_DISTRICT PRIMARY KEY (ID)
)
PARTITION BY LIST(DISTRICT_NAME)
(
PARTITION REGION_TOTAL VALUES('NY','LA','Washington','Cali','RD'........));
在DISTRICT表中,我在DISTRICT_NAME列中有很多唯一的值,我想对所有这些进行分区
要做到这一点,我必须将分区区域_TOTAL中的所有值传递给SPLIT。有没有办法让它更容易
我正在使用Oracle 12C
谢谢 否。在CREATE TABLE语法中,除了NULL或DEFAULT之外,无法替换LIST PARTITION的values子句中的文字值
检查详细语法。我只看到一个分区区域总计将保存一个分区中的所有记录(因为您列出了分区键列DISTRICT\u NAME的所有不同值)。这样的分区有什么用?你所有的记录都将只放在一个分区中。为什么不改用散列分区呢?@ArtBajji谢谢你的建议。我知道我可以用散列分区代替列表分区。但这不是我所期望的答案。我只是想知道是否有方法替换所有值而不是传递每个值。