oracle11g如何按照列的一部分进行分区,求思路,谢谢。
0
oracle11g可以按照列的一部分进行分区吗,如何做?
具体说:有一张表test
ID varchar2(50),
name varchar2(500),
mac varchar2(100)
ID中存储类似“1000020002”,“100000232323”,‘2000002222’,能都根据ID列的第一个字符,如果是1的在一个分区,是2的在另一个分区
如果此种方案可行,该如何操作。
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
老头子 - 专注是唯一的捷径 2015-10-26 回答
赞同来自: biee新手
CREATE TABLE test_ltz (
ID varchar2(50),
name varchar2(500),
mac varchar2(100),
id_partition CHAR(1) GENERATED ALWAYS AS (SUBSTRB(ID,1,1)) VIRTUAL
)
PARTITION BY RANGE(id_partition)
(
PARTITION P70 VALUES LESS THAN ('2'),
PARTITION P80 VALUES LESS THAN ('3'),
PARTITION P90 VALUES LESS THAN ('4'),
PARTITION PDEFAULT VALUES LESS THAN(MAXVALUE)
)