小编Ps-*_*-kl的帖子

更新分区键,不允许行移动

我想更新分区键。分区如下

PARTITION_NAME  LAST_ANALYZED   NUM_ROWS    BLOCKS  SAMPLE_SIZE HIGH_VALUE
PORTAL_SERVICE_1    12/8/2016   4133    174 4133    1
PORTAL_SERVICE_2    6/8/2016    4474    174 4474    2
PORTAL_SERVICE_3    10/8/2016   29602   2014    29602   3
PORTAL_SERVICE_OTHERS   24/5/2016   0   110     DEFAULT
Run Code Online (Sandbox Code Playgroud)

此分区应用于列 Portal_Service_id。我想将门户服务 ID 的值从 2 更新为 1。

当我尝试

update trans set PORTAL_SERVICE_ID = 1 where ID = 2054;
Run Code Online (Sandbox Code Playgroud)

我收到错误:错误报告 - SQL 错误:ORA-14402:更新分区键列会导致分区更改 14402. 00000 -“更新分区键列会导致分区更改”

我不允许使用启用行移动。

任何人都可以建议更新行的任何替代方法。

如果这可以在场景中使用,任何人都可以解释一下:

UPDATE <table_name> PARTITION (<partition_name>)
SET <column_name> = <value>
WHERE <column_name> <condition> <value>;
Run Code Online (Sandbox Code Playgroud)

oracle partitioning database-partitioning sql-update

1
推荐指数
1
解决办法
1万
查看次数