Update水平分区

UPDATE分区表和普通表一样,也可以直接UPDATE子分区表。

示例:UPDATE分区表

--  清理环境
DROP TABLE tab;

-- 创建分区表
CREATE TABLE tab 
(
    c1 INT, 
    c2 INT
)
PARTITION BY RANGE (c1)
(
    PARTITION p1 VALUES LESS THAN (10),
    PARTITION p2 VALUES LESS THAN (20),
    PARTITION p3 VALUES LESS THAN (30)
);

INSERT INTO tab VALUES(2,3);
INSERT INTO tab PARTITION(p2) VALUES(14, 20);
INSERT INTO tab VALUES(23, 12);

--和普通表一样UPDATE分区表
UPDATE tab SET c2 = 10 WHERE c1 = 2;

SELECT * FROM tab ORDER BY c1;
C1(int)      |C2(int)      |
--------------------------
2            |10           |
--------------------------
14           |20           |
--------------------------
23           |12           |
总数目:3

--直接UPDATE子分区表
UPDATE tab PARTITION (p2) SET c2 = 44 WHERE c1 = 14;

SELECT * FROM tab PARTITION (p2) ORDER BY c1;
C1(int)      |C2(int)      |
--------------------------
14           |44           |
总数目:1

--删除表
DROP TABLE tab;