代码之家  ›  专栏  ›  技术社区  ›  Jeldrik

SQL脚本/表分区

  •  3
  • Jeldrik  · 技术社区  · 16 年前

    是否有一种简单的方法可以在SQL脚本中确定Oracle表分区功能是否可用?

    如果功能可用,我想创建一些表作为分区表,否则表应该正常创建。我有一个带有DDL的脚本,用于通过sqlplus设置数据库。

    谢谢。

    热河

    2 回复  |  直到 16 年前
        1
  •  6
  •   user198997    16 年前

    以下查询将告诉您是否启用分区:

    select value from v$option where parameter = 'Partitioning';
    
        2
  •  1
  •   Tony Andrews    16 年前

    如果分区不可用,则应出现以下错误:

    ORA-00439: feature not enabled: Partitioning
    

    所以您可以在脚本中编写pl/sql来创建这样的表:

    declare
      no_partioning exception;
      pragma exception_init (no_partioning, -439);
    begin
      execute immediate 'CREATE TABLE mytable ...'; -- with partioning clauses
    exception
      when no_partioning then
        execute immediate 'CREATE TABLE mytable ...'; -- without partioning clauses
    end;
    /