4D v16

ALTER TABLE

Página Inicial

 
4D v16
ALTER TABLE

ALTER TABLE  


 

 

Commande ALTER TABLE

ALTER TABLE nom_sql
{ADD [TRAILING] definição_coluna [PRIMARY KEY] |
DROP nom_sql |
ADD definição_chave_primária |
DROP PRIMARY KEY |
ADD definição_chave_externa |
DROP CONSTRAINT nom_sql |
[{ENABLE | DISABLE} REPLICATE] |
[{ENABLE | DISABLE} LOG] |
[MODIFY sql_name {ENABLE | DISABLE} AUTO_INCREMENT] |
[MODIFY sql_name {ENABLE | DISABLE} AUTO_GENERATE] |
[{ENABLE | DISABLE} TRIGGERS] |
SET SCHEMA nom_sql}

O comando ALTER TABLE se utiliza para modificar uma tabela existente (nom_sql). Pode realizar uma das seguintes ações:
Passar ADD definição_coluna adiciona uma coluna a tabela.
A palavra chave TRAILING (deve ser localizada em frente de definicao_coluna se utilizada) força a criação da coluna a criar logo da última coluna existente da tabela no arquivo de estrutura. Esta opção é útil quando as colunas que contém os dados que foram eliminados da tabela (sem que os dados sejam apagados), para evitar que os dados existentes sejam atribuídos a nova coluna.

Nota: este comando não permite adicionar um campo (coluna) de tipo Objeto

A palavra chave PRIMARY KEY se utiliza para definir a chave primária quando é adicionada uma coluna.


Passar DROP nom_sql elimina a coluna nom_sql da tabela.
Passar ADD definição_chave_primária adiciona uma chave primária (PRIMARY KEY) a tabela.
Passar DROP PRIMARY KEY elimina a chave primária (PRIMARY KEY) da tabela.
Passar ADD definição_chave_externa adiciona uma chave externa (FOREIGN KEY) a tabela.
Passar DROP CONSTRAINT nom_sql elimina a restrição especificada por nom_sql da tabela.
Passar ENABLE REPLICATE ou DISABLE REPLICATE ativa ou desativa o mecanismo que permite a replicação da tabela (ver a seção Replicação via SQL).
Passar ENABLE LOG ou DISABLE LOG ativa ou desativa o histórico da tabela.
Passar ENABLE AUTO_INCREMENT ou DISABLE AUTO_INCREMENT ativa ou desativa a opção "Autoincrement" dos campos de tipo inteiro longo.
Passar ENABLE AUTO_GENERATE ou DISABLE AUTO_GENERATE ativa ou desativa a opção "Auto UUID" para os campos alfa de tipo UUID.
Pasar ENABLE TRIGGERS ou DISABLE TRIGGERS  ativa ou desativa os triggers para a tabela. Se deseja gerenciar os triggers globalmente a nível da base, deve utilizar ALTER DATABASE.
Passar SET SCHEMA nom_sql transfere a tabela ao esquema nom_sql.

O comando devolve um erro:

  • quando o parâmetro opcional ENABLE LOG se passar e nenhuma chave primária válida foi definida,
  • se tentar modificar ou eliminar a definição de chave primária da tabela sem desativar o histórico via DISABLE LOG.

Este exemplo cria uma tabela, insere um conjunto de valores nela, depois adiciona uma coluna Num_Tel, insere outro conjunto de valores e depois elimina a coluna ID:

CREATE TABLE ACTOR_FANS
(ID INT32, Nom VARCHAR);

INSERT INTO ACTOR_FANS
(ID, Nom)
VALUES(1, 'Francis');

ALTER TABLE ACTOR_FANS
ADD Num_Tel VARCHAR;

INSERT INTO ACTOR_FANS
(ID, Nom, Num_Tel)
VALUES (2, 'Florence', '01446677888');

ALTER TABLE ACTOR_FANS
DROP ID;

Exemplo para ativar a opção "Autoincrementar" do tipo Longint [Table_1]campo id:

 Begin SQL
    ALTER TABLE Table_1 MODIFY id ENABLE AUTO_INCREMENT;
 End SQL

Desativar a opção:

 Begin SQL
    ALTER TABLE Table_1 MODIFY id DISABLE AUTO_INCREMENT;
 End SQL

Exemplo para ativar  "Auto UUID" do tipo Alpha [Table_1]uid field:

 Begin SQL
    ALTER TABLE Table_1 MODIFY uid ENABLE AUTO_GENERATE;
 End SQL

Desativar a opção:

 Begin SQL
    ALTER TABLE Table_1 MODIFY uid DISABLE AUTO_GENERATE;
 End SQL



Ver também 

CREATE TABLE
definição_chave_externa
definição_chave_primária
definição_coluna
DROP TABLE

 
PROPRIEDADES 

Produto: 4D
Tema: Comandos SQL

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de SQL ( 4D v16)