Home Oracle Commands

ALTER TABLE

Change the properties of an existing table.

Syntax:

   ALTER TABLE [schema.]table
      RENAME TO new_table_name

   ALTER TABLE [schema.]table
      [ [NO]MINIMISE RECORDS PER BLOCK ]
          [PARALLEL parallel_clause]
             [ENABLE enable_clause | DISABLE disable_clause]
                 [{ENABLE|DISABLE} TABLE LOCK]
                    [{ENABLE|DISABLE} ALL TRIGGERS]

   ALTER TABLE [schema.]table
      iot_overflow_clause
          [PARALLEL parallel_clause]
             [ENABLE enable_clause | DISABLE disable_clause]
                 [{ENABLE|DISABLE} TABLE LOCK]
                    [{ENABLE|DISABLE} ALL TRIGGERS]

   ALTER TABLE [schema.]table
      partitioning_clause
          [PARALLEL parallel_clause]
             [ENABLE enable_clause | DISABLE disable_clause]
                 [{ENABLE|DISABLE} TABLE LOCK]
                    [{ENABLE|DISABLE} ALL TRIGGERS]

   ALTER TABLE [schema.]table
      tbl_defs,...
          [PARALLEL parallel_clause]
             [ENABLE enable_clause | DISABLE disable_clause]
                 [{ENABLE|DISABLE} TABLE LOCK]
                    [{ENABLE|DISABLE} ALL TRIGGERS]

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

   MODIFY [column datatype] [DEFAULT expr] [column_constraint(s)]

   MODIFY [table_constraint]

   drop_column_clause

   DROP drop_constraint_clause

   [PCTFREE int][PCTUSED int][INITTRANS int]
      [MAXTRANS int][STORAGE storage_clause]

   extent_options

   MOVE [ONLINE] storage_options INDEX index_organized_tbl_clause
      [LOB_storage_clause][varray_clause]

   LOGGING|NOLOGGING

   MODIFY NESTED TABLE collection_item RETURN AS {LOCATOR|VALUE}

   MODIFY LOB [LOB_storage_clause]

   MODIFY VARRAY [varray_clause]

   CACHE | NOCACHE

   MONITORING | NOMONITORING

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

extent_options:
   ALLOCATE EXTENT [( [size int K | M ]
      [DATAFILE 'filename' ] [INSTANCE int] )]
   DEALLOCATE UNUSED [KEEP int K | M ]

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

iot_overflow_clause:
   {PCTTHRESHOLD int | INCLUDING column} |
       OVERFLOW overflow_storage_clause
          ADD OVERFLOW [storage_options] [(PARTITION storage_options)]

overflow_storage_clause:
   PCTFREE int
   PCTUSED int
   INITTRANS int
   MAXTRANS int
   extent_options
   STORAGE storage_clause
   [LOGGING|NOLOGGING]

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

drop_column_clause:
   SET UNUSED (column,...)
      [CASCADE CONSTRAINTS][INVALIDATE]

   DROP COLUMN (column,...)
      [CASCADE CONSTRAINTS][INVALIDATE] CHECKPOINT int

   DROP {UNUSED COLUMNS|COLUMNS CONTINUE} [CHECKPOINT int]

Examples

Add a column to a table
   ALTER TABLE STAFF_OPTIONS
      ADD SO_INSURANCE_PROVIDER Varchar2(35);

Add  a default value to a column
   ALTER TABLE STAFF_OPTIONS
      MODIFY SO_INSURANCE_PROVIDER Varchar2(35) DEFAULT 'ABC Ins';

Add two columns to a table and remove a constraint
   ALTER TABLE STAFF_OPTIONS
      ADD (SO_STAFF_ID INT, SO_PENSION_ID INT)
          STORAGE INITIAL 10 K
          NEXT 10 K
          MAXEXTENTS 121
          PCTINCREASE 0
          FREELISTS 2
      DROP CONSTRAINT cons_SO;

"The first 90% of a project takes 90% of the time, the last 10% takes the other 90% of the time" - Murphy's Law

Related Commands:

ANALYZE TABLE COMPUTE STATISTICS
ALTER INDEX
ALTER VIEW
COMMENT - Add a comment to a table or a column.
RENAME
DBMS_REDEFINITION

Related Views:

  DBA_ALL_TABLES       ALL_ALL_TABLES       USER_ALL_TABLES
  DBA_TABLES           ALL_TABLES           USER_TABLES         TAB
  DBA_TAB_COLUMNS      ALL_TAB_COLUMNS      USER_TAB_COLUMNS 
  DBA_PART_TABLES      ALL_PART_TABLES      USER_PART_TABLES  
                                                                DICTIONARY
                                                                DICT_COLUMNS



Back to the Top

Simon Sheppard
SS64.com