Oracle在JDBC中插入分区绑定分区名称

时间:2013-05-29 08:28:45

标签: java oracle jdbc partitioning

我正在使用JDBC将大量数据插入到表的不同分区中。该表是系统分区的,这意味着我需要在insert语句中提供分区名称。

INSERT INTO T Partition P values (...);

我使用预准备语句绑定insert语句的值,现在我想知道是否可以绑定分区名称,因为我不知道我需要插入哪个分区,直到我看到实际上是数据。

1 个答案:

答案 0 :(得分:2)

在标准Oracle分区方案中,您无需在INSERT语句中提供分区名称。 Oracle分区的目标之一是application-transparent

  

从应用程序的角度来看,只存在一个架构对象。 DML语句不需要修改来访问分区表。

在语句中提供分区是例外,而不是规则:Oracle足够聪明,可以在正确的分区中插入行。

但是,System Partitioning要求您提供分区名称。

不幸的是,您无法使用绑定变量动态指定分区名称,因为分区名称是对象名称,因此在解析语句时需要知道。

我建议你使用N预备语句,其中N是插入的分区数。 N是您需要的最小语句数。