ORA-14304: List partitioning method expects a single partitioning column
Cause: number of columns in a partitioning column list exceeded the legal limit of 1 for List partitioned objects
Action: modify partitioning column list so that it consists of at most 1 column
ORA-14304表示Oracle不允许将多个列用于相同的列表分区,并要求使用者指定一个分区列,以实现该列表分区类型。
例如,您想使用分区类型LIST,但试图在一个分区中使用多个列来定义数据行:
create table test_table
(
id number,
code number,
val number
)
partition by list (id, code);
这将导致以下错误:
ERROR at line 4:
ORA-14304: list partitioning method expects a single partitioning column
为了正确地解决ORA-14304,您可以使用————————————————————–
1.只使用一个列:
在这种情况下,指定你想要用作分区字段的一个列:
create table test_table
(
id number,
code number,
val number
)
partition by list (id);
2.嵌入函数
在这种情况下,您可以创建使用多个列的函数,用这个函数来定义分区字段:
create table test_table
(
id number,
code number,
val number
)
partition by list (CASE code WHEN id THEN 1 ELSE 0 END);