Instru????o CREATE TABLE

A instru????o CREATE TABLE cria uma tabela. As tabelas cont??m colunas e restri????es, que s??o regras que os dados devem estar em conformidade. A restri????o no n??vel-de-tabela especifica uma coluna ou v??rias colunas. As colunas possuem um tipo de dado e podem especificar restri????es de coluna (restri????es no n??vel-de-coluna).

Para obter informa????es sobre as restri????es deve ser consultada a Cl??usula CONSTRAINT.

Pode ser especificado um valor padr??o para a coluna. O valor padr??o ?? o valor a ser inserido na coluna quando n??o ?? especificado nenhum outro valor. Quando n??o ?? especificado explicitamente, o valor padr??o para a coluna ?? NULL. Consulte Valor padr??o da coluna.

Podem ser especificadas propriedades de armazenamento, como o tamanho da p??gina para a tabela, chamando o procedimento do sistema SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY.

Se for especificado um nome de tabela qualificado, o nome do esquema n??o poder?? come??ar por SYS.

Sintaxe

CREATE TABLE nome-da-tabela
    ( {defini????o-da-coluna | restri????o no n??vel-de-tabela}
    [ , {defini????o-da-coluna | restri????o no n??vel-de-tabela} ] * )

Exemplos

CREATE TABLE DISPONIBILIDADE_HOTEL (
    ID_HOTEL           INT NOT NULL,
    DATA_RESERVA       DATE NOT NULL,
    QUARTOS_RESERVADOS INT DEFAULT 0,
    PRIMARY KEY (ID_HOTEL, DATA_RESERVA));

-- A defini????o de chave prim??ria no n??vel-de-tabela permite
-- incluir duas colunas na defini????o da chave prim??ria

PRIMARY KEY (ID_HOTEL, DATA_RESERVA))

-- Atribuir um atributo de coluna de identidade a uma coluna INTEGER,
-- e tamb??m definir uma restri????o de chave prim??ria na coluna

CREATE TABLE PESSOAS (
    ID_PESSOA INT NOT NULL GENERATED ALWAYS AS IDENTITY
    CONSTRAINT PK_PESSOAS PRIMARY KEY,
    PESSOA VARCHAR(26));

-- Atribuir um atributo de coluna de identidade a uma coluna SMALLINT
-- com valor inicial igual a 5 e valor do incremento igual a 5.

CREATE TABLE GRUPOS (
    ID_GRUPO SMALLINT NOT NULL
        GENERATED ALWAYS AS IDENTITY (START WITH 5, INCREMENT BY 5),
    ENDERE??O VARCHAR(100),
    TEL      VARCHAR(15));
Nota: Para obter mais exemplos de instru????es CREATE TABLE utilizando v??rias restri????es deve ser consultada a Cl??usula CONSTRAINT.
Refer??ncias relacionadas
Instru????o CREATE FUNCTION
Instru????o CREATE INDEX
Instru????o CREATE PROCEDURE
Instru????o CREATE SCHEMA
Instru????o CREATE SYNONYM
Instru????o CREATE TRIGGER
Instru????o CREATE VIEW