SQL::Translator::Parser::Oracle.3pm

Langue: en

Autres versions - même langue

Version: 2010-06-03 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

SQL::Translator::Parser::Oracle - parser for Oracle

SYNOPSIS

   use SQL::Translator;
   use SQL::Translator::Parser::Oracle;
 
   my $translator = SQL::Translator->new;
   $translator->parser("SQL::Translator::Parser::Oracle");
 
 

DESCRIPTION

From http://www.ss64.com/ora/table_c.html:
  CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (tbl_defs,...)
      [ON COMMIT {DELETE|PRESERVE} ROWS]
          [storage_options | CLUSTER cluster_name (col1, col2,... )
             | ORGANIZATION {HEAP [storage_options] 
             | INDEX idx_organized_tbl_clause}]
                [LOB_storage_clause][varray_clause][nested_storage_clause]
                    partitioning_options
                       [[NO]CACHE] [[NO]MONITORING] [PARALLEL parallel_clause]
                          [ENABLE enable_clause | DISABLE disable_clause]
                              [AS subquery]
 
 

tbl_defs:
   column datatype [DEFAULT expr] [column_constraint(s)]
   table_ref_constraint

storage_options:
   PCTFREE int
   PCTUSED int
   INITTRANS int
   MAXTRANS int
   STORAGE storage_clause
   TABLESPACE tablespace
   [LOGGING|NOLOGGING]

idx_organized_tbl_clause:
   storage_option(s) [PCTTHRESHOLD int]
     [COMPRESS int|NOCOMPRESS]
         [ [INCLUDING column_name] OVERFLOW [storage_option(s)] ]

nested_storage_clause:
   NESTED TABLE nested_item STORE AS storage_table
      [RETURN AS {LOCATOR|VALUE} ]

partitioning_options:
   Partition_clause {ENABLE|DISABLE} ROW MOVEMENT

Column Constraints (http://www.ss64.com/ora/clause_constraint_col.html)

    CONSTRAINT constrnt_name {UNIQUE|PRIMARY KEY} constrnt_state
 
    CONSTRAINT constrnt_name CHECK(condition) constrnt_state
 
    CONSTRAINT constrnt_name [NOT] NULL constrnt_state
 
    CONSTRAINT constrnt_name REFERENCES [schema.]table[(column)]
       [ON DELETE {CASCADE|SET NULL}] constrnt_state
 
 

constrnt_state
    [[NOTDEFERRABLE] [INITIALLY {IMMEDIATE|DEFERRED}]
       [RELY | NORELY] [USING INDEX using_index_clause]
          [ENABLE|DISABLE] [VALIDATE|NOVALIDATE]
              [EXCEPTIONS INTO [schema.]table]

Note that probably not all of the above syntax is supported, but the grammar was altered to better handle the syntax created by DDL::Oracle.

AUTHOR

Ken Youens-Clark <kclark@cpan.org>.

SEE ALSO

SQL::Translator, Parse::RecDescent, DDL::Oracle.