Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20
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.

Dado que este comando modifica a estrutura do banco de dados, não pode ser utilizado no  contexto de uma aplicação empacotada de apenas leitura (arquivo .4dc instalado na pasta Arquivos de programa ou arquivo .4dz).

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

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

 
ARTICLE USAGE

Manual de SQL ( 4D v20)