DB2 - Banco de dados - Instruções e Funções Básicas - CREATE TABLE


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

CREATE TABLE

A instrução CREATE TABLE define uma tabela.
Você fornece o nome da tabela, os nomes e atributos de suas colunas.
Você poderá conceder ou revogar autorização para que outras pessoas utilizem uma tabela que você criou.

Sintaxe

A sintaxe da instrução CREATE TABLE é:

   CRIAR TABELA nome da tabela coluna1 tipo1 NOT NULL, column2 type2. . .)
   IN space-name
tablename
O nome que você atribui à tabela.

Se seu site usa os dados DBCS, os nomes das tabelas não podem conter caracteres de byte duplo que sejam internamente representados como aspas duplas a menos que seu banco de dados suporte especificamente caracteres de aspas duplas em nomes de tabela.

column1 type1
O nome que você atribui à primeira coluna e o tipo de dados que a descreve.
Se o tipo de dados for CHAR, VARCHAR, GRAPHIC, VARGRAPHIC ou DECIMAL, é necessário especificar o comprimento máximo de um elemento de dados entre parênteses.
Para DECIMAL, você também deverá especificar o número de casas após o ponto decimal assumido.
column2 type2
O nome que você atribui à segunda coluna e o tipo de dados que a descreve.
NOT NULL
Opcional para qualquer coluna que você definir.
Se não utilizar NOT NULL na definição da tabela, então qualquer tentativa de ter nenhum valor na coluna correspondente da tabela produzirá uma mensagem de erro.
A omissão de NOT NULL permite valores nulos na coluna.
IN space-name
Refere-se a um espaço de tabelas ou um dbspace no qual a tabela deve ser criada.
Essa condição só será necessária se o seu site não fornecer um espaço a ser usado como padrão.

Para localizar o nome do espaço usado quando o QMF cria tabelas para o comando SAVE DATA ou IMPORT TABLE, emita o comando do QMF DISPLAY PROFILE e observe o valor da opção SPACE.

Exemplos

A seguinte instrução CREATE define uma tabela chamada PERS.
As colunas da PERS possuem as mesmas características da Q.STAFF, mas não contêm dados.

   CREATE TABLE PERS
         (ID       SMALLINT NOT NULL,
          NAME     VARCHAR(9),
          DEPT     SMALLINT,
          JOB      CHAR(5),
          YEARS    SMALLINT,
          SALARY   DECIMAL(7,2),
          COMM     DECIMAL(7,2))
          IN       space-name
ID
O número do funcionário é um inteiro e nulo não pode ser especificado para o mesmo.
NAME
O comprimento máximo do nome é nove caracteres.
DEPTO
O tipo de dados da coluna de números do departamento é um número inteiro pequeno.
CARGO
O nome do cargo possui cinco caracteres.
YEARS
O número de anos é um inteiro.
SALARY
Um número de sete-dígitos com duas posições decimais.
COM
Um número de sete-dígitos com duas posições decimais.
(Lembre-se do parêntese final.)

É possível utilizar NOT NULL com qualquer conjunto de colunas na instrução CREATE TABLE;
no exemplo, ele aparece com a coluna ID.
Significa que todas as linhas entradas na PERS devem ter, pelo menos, um número de funcionário.

Esta instrução define a tabela Q.APPLICANT:

   CREATE TABLE APPLICANT
         (TEMPID   SMALLINT  NOT NULL,
          NAME     VARCHAR(9),
          ADDRESS  VARCHAR(17),
          EDLEVEL  SMALLINT,
          COMMENTS VARCHAR(29))
          IN       space-name

Esta instrução define a tabela Q.INTERVIEW:

   CREATE TABLE INTERVIEW
         (TEMPID    SMALLINT,
          INTDATE   DATE,
          STARTTIME TIME,
          ENDTIME   TIME,
          MANAGER   SMALLINT,
          DISP      VARCHAR(6),
          LASTNAME  VARCHAR(9),
          FIRSTNAME VARCHAR(9))
          IN        space-name

Definir a tabela não coloca dados nela.



© Copyright IBM Corp.