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