4D v16

ALTER TABLE

Inicio

 
4D v16
ALTER TABLE

ALTER TABLE  


 

 

Commande ALTER TABLE

ALTER TABLE nom_sql
{ADD [TRAILINGdefinición_columna [PRIMARY KEY] |
[TRAILING] |
DROP nom_sql |
ADD definición_llave_primaria |
DROP PRIMARY KEY |
ADD definición_llave_foránea |
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}

El comando ALTER TABLE se utiliza para modificar una tabla existente (nom_sql). Puede efectuar una de las siguientes acciones:
Pasar ADD definición_columna añade una columna a la tabla.
La palabra clave TRAILING (debe ubicarse en frente de definición_columna si se utiliza) forza la creación de la columna luego de la última columna existente de la tabla en el archivo de estructura. Esta opción es útil cuando las columnas que contienen los datos se han eliminado de la tabla (sin que los datos sean borrados), para evitar que los datos existentes sean reasignados a la nueva columna.

Nota: este comando no permite añadir un campo (columna) de tipo Objeto.

La palabra clave PRIMARY KEY se utiliza para definir la llave primaria cuando se añade una columna.
Pasar DROP nom_sql elimina la columna nom_sql de la tabla.
Pasar ADD definición_llave_primaria añade una llave primaria (PRIMARY KEY) a la tabla.
Pasar DROP PRIMARY KEY elimina la llave primaria (PRIMARY KEY) de la tabla.
Pasar ADD definición_llave_foránea añade una llave foránea (FOREIGN KEY) a la tabla.
Pasar DROP CONSTRAINT nom_sql elimina la restricción especificada por nom_sql de la tabla.
Pasar ENABLE REPLICATE o DISABLE REPLICATE activa o desactiva el mecanismo que permite la replicación de la tabla (ver la sección Replicación vía SQL).
Pasar ENABLE LOG o DISABLE LOG activa o desactiva el historial de la tabla.
Pasar ENABLE AUTO_INCREMENT o DISABLE AUTO_INCREMENT activa o desactiva la opción "Autoincrement" de los campos de tipo entero largo.
Pasar ENABLE AUTO_GENERATE o DISABLE AUTO_GENERATE activa o desactiva la opción "Auto UUID" para los campos alfa de tipo UUID. En los dos casos, debe pasar la palabra clave MODIFY seguida del nom_sql de la columna a modificar.
Pasar ENABLE TRIGGERS o DISABLE TRIGGERS  activa o desactiva los triggers para la tabla. Si desea gestionar los triggers globalmente a nivel de la base, debe utilizar ALTER DATABASE.
Pasar SET SCHEMA nom_sql transfiere la tabla al esquema nom_sql.

El comando devuelve un error:

  • cuando el parámetro opcional ENABLE LOG se pasa y ninguna llave primaria válida se ha definido,
  • si intenta modificar o eliminar la definición de llave primaria de la tabla sin desactivar el historial vía DISABLE LOG.

Este ejemplo crea una tabla, inserta un conjunto de valores en ella, luego añade una columna Num_Tel, inserta otro conjunto de valores y luego elimina la columna 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;

Ejemplo para activar la opción "Autoincrement" del tipo campo Entero largo [Table_1]id:

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

Desactivando la opción:

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

Ejemplo para la activación de "Auto UUID" del campo tipo Alfa [Table_1]uid:

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

Desactivando la opción:

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



Ver también 

CREATE TABLE
definición_columna
definición_llave_foránea
definición_llave_primaria
DROP TABLE

 
PROPIEDADES 

Producto: 4D
Tema: Comandos SQL

 
HISTORIA 

 
ARTICLE USAGE

Manual de SQL ( 4D v16)