Pulse para guardar enlace y compartir esta web. Ayuda para Oracle en Twitter Pulse para guardar enlace y compartir esta web. Ayuda para Oracle en Facebook Pulse para guardar enlace y compartir esta web. Búscanos en Google+ Pulse para guardar enlace y compartir esta web Pulse para generar codigo QR del enlace y compartir esta web

Create Table

La estructura de la sentencia de creación de tablas es:

CREATE [GLOBAL TEMPORARY] TABLE [esquema.]tabla
     columna datatype [DEFAULT expr] [column_constraint(s)]
   [,columna datatype [,...]]
    table_constraint
    table_ref_constraint
   [ON COMMIT {DELETE|PRESERVE} ROWS]
    storage_options  [COMPRESS int|NOCOMPRESS]
   [LOB_storage_clause][varray_clause][nested_storage_clause] [XML_type_clause]
    Partitioning_clause
   [[NO]CACHE] [[NO]ROWDEPENDENCIES] [[NO]MONITORING] [PARALLEL parallel_clause]
   [ENABLE enable_clause | DISABLE disable_clause]
   {ENABLE|DISABLE} ROW MOVEMENT
   [AS subquery]
Queda mas claro con unos ejemplos:

create table T_PRODUCTOS (
  numproduct number,
  desproduct varchar2(10)
)
Es posible definir restricciones (constraint) con la sentencia CREATE.

create table T_PEDIDOS(
  numpedido   number primary key
  fecpedido   date,
  numclient  references T_CLIENTES
)
Una clave primaria (primary key) necesita tener asociado un indice unico (unique index). Es posible especificar el tablespace donde queremos crear el indice.

create table T_PEDIDOS(
  numpedido   number primary key
  fecpedido   date,
  numclient  references T_CLIENTES
  constraint pk_pedidos (numpedido) using index tablespace ts_idx
)

Index organized tables (IOT)


create table iot_ (
  a number,
  b varchar2(10),
constraint pk_iot_ primary key (a, b)
)
organization index;
Organization external The following create table statement creates an external table.

create table (....)
organization external (
  type              oracle_loader
  default directory some_dir
  access parameters (
    records delimited  by newline
    fields  terminated by ','
    missing field are values null
  )
  location ('some_file.csv')
)
reject limit unlimited;

Nested tables


create or replace type item as object (
  item_id Number  ( 6  ),
  descr   varchar2(30  ),
  quant   Number  ( 4,2)
);
/

create or replace type items as table of item;
/

create table bag_with_items (
  bag_id                   number(7)     primary key,
  bag_name                 varchar2(30)  not null,
  the_items_in_the_bag     items         
)
nested table the_items_in_the_bag store as bag_items_nt;

Adding a unique constraint for item_id:

alter table bag_items_nt add constraint uq_item_id unique(item_id);