如何在Oracle中的create语句中动态传递并行度

时间:2018-06-23 05:50:27

标签: sql oracle

我正在尝试动态传递并行度。例如,在下面的代码中,我已将通过的并行度硬编码为8,但是我想对其进行参数化。有办法吗?

示例代码:

CREATE TABLE ABC NOLOGGING PARALLEL 8 AS
SELECT * FROM XYZ
;

1 个答案:

答案 0 :(得分:2)

绑定变量通常不支持DDL。最常见的方法是使用EXECUTE IMMEDIATE,即

EXECUTE IMMEDIATE 'CREATE TABLE ABC NOLOGGING PARALLEL ' ||
  my_parallel_degree_constant ||
  ' AS SELECT * FROM XYZ';