MODIFICAR TABLA

Nombre

MODIFICAR TABLA  --  Propiedades de las modificaciones de tablas

Synopsis

MODIFICAR TABLA tabla [ * ]
    A�ADIR [ COLUMNA ] columna tipo
MODIFICAR TABLA tabla [ * ]
    MODIFICAR [ COLUMNA ] columna { SET DEFAULT valor | DROP DEFAULT }
MODIFICAR TABLA tabla [ * ]
    RENOMBRAR [ COLUMNA ] columna A nueva columna
MODIFICAR TABLA tabla
    RENOMBRAR A nueva tabla
  

Entradas

tabla

El nombre de un tabla existente para modificarla.

columna

Nombre de una columna nueva o ya existente.

tipo

Tipo de la nueva columna.

nueva columna

Nuevo nombre para una columna ya existente.

nueva tabla

Nuevo nombre para la tabla.

Resultados

MODIFICAR

Mensaje recibido de la columna o la tabla que se ha renombrado.

ERROR

Mensaje recibido si la tabla o la columna no son v�lidas.

Descripci�n

MODIFICAR TABLA cambia la definici�n de una tabla existente. La orden A�ADIR COLUMNA a�ade una nueva columna a la tabla usando la misma sintaxis que CREATE TABLE. La orden MODIFICAR COLUMNA le permite poner o eliminar los valores por defecto de la columna. Notese que los valores por defecto s�lo se aplicaran a las lineas que inserte nuevas. La clausula RENOMBRAR causa que el nombre de una tabla o de una columna cambie sin que se modifique ninguno de los datos contenidos en la tabla afectada. De este modo, la tabla o la columna permanecer� del mismo tipo y tama�o despu�s de que este comando sea ejecutado.

Usted debe ser el creador de esta tabla para poder cambiar su esquema.

Notas

The palabra clave COLUMNA es muy usada por lo que se debe omitir.

"*" siguiendo a un nombre de una talba indica que la orden debe ejecutarse sobre esa tabla y todas las tablas que esten bajo ella en la jerarqu�a subsequente; por defecto, el atributo no ser� a�adido a o renombrado en ninguna de las subclases. Esto siempre se debe hacer cuando se a�ade o modifica un atributo en una superclase. Si no es as�, las preguntas en la jerarqu�a subsequente como

SELECCIONAR nueva columna DESDE SuperClase*
    
no funcionar�n porque las subclases habr�n perdido un atributo que se encontraba en la superclase.

En la presente implementaci�n, las clausulas por defecto y limitadoras para la nueva columna seran ignoradas. Usted puede usar la ordenPONER VALORES POR DEFECTO de MODIFICAR TABLA para poner los valores por defecto m�s tarde. (Usted tendr� tambi�n que actualizar las lineas existentes a los nuevos valores por defecto, usando UPDATE.)

Usted debe ser el creador de la clase para poder cambiar el esquema. Renombrar cualquier parte de un esquema del cat�logo de un sistema no est� permitido. La Gu�a del Usuario de PostgreSQL tiene m�s informaci�n de las herencias subsequentes.

Dir�gase aCREAR TABLA para una descipci�n m�s amplia de los argumentos v�lidos.

Moda de uso

Para a�adir a una columna de tipo VARCHAR a una tabla:

MODIFICAR TABLA distribuidores A�ADIR COLUMNA direcciones VARCHAR(30);
   

Para renombrar una columna existente:

MODIFICAR TABLA distribuidores RENOMBRAR COLUMNA direcciones A ciudad;
   

Para renombrar una tabla existente:

MODIFICAR TABLA distribuidores RENOMBRA A proveedores;
   

Compatibilidad

SQL92

La orden A�ADIR COLUMNA est� asumida con la excepci�n de que no soporta los valores por defecto y limitaciones, como se explic� m�s arriba. La orden MODIFICAR COLUMNA est� en sumisi�n completa.

SQL92 especifica algunas capacidades adicionales para MODIFICAR TABLA �rdenes que no est�n todav�a directamente soportadas por PostgreSQL:

MODIFICAR TABLA tabla A�ADIR definici�n de limitaci�n de tabla
MODIFICAR TABLA tabla ELIMINAR LIMITACION limitaci�n { RESTRICT | CASCADE }
      

A�adir o eliminar una limitaci�n de tabla (como una limitaci�n de comprobaci�n, limitaci�n �nica, o limitaci�n de orden extra�a). Para crear o eliminar una limitaci�n �nica, crear o eliminar un �ndice �nico, respectivamente (ver CREATE INDEX). Para cambiar otras clase de limitaciones necesita recrear y recargar la tabla usando otros par�metros para la CREATE TABLE orden.

Por ejemplo, para eliminar cualquier limitaci�n en una tabla distribuidores:

CREAR TABLA temp COMO SELECCIONAR * DESDE distribuidores;
ELIMINAR TABLA distribuidores;
CREAR TABLA distribuidores COMO SELECCIONAR * DESDE temp;
ELIMINAR TABLA temp;
       

MODIFICAR TABLA tabla ELIMINAR [ COLUMNA ] columna { RESTRICT | CASCADE }
      

Eliminar una columna de una tabla. Corrientemente, para eliminar una columan existente la tabla debe ser recreada y recargada:

CREAR TABLA temp COMO SELECCIONAR did, ciudad DESDE distribuidores;    
ELIMINAR TABLA distribuidores;
CREAR TABLA distribuidores (
    did      DECIMAL(3)  DEFAULT 1,
    name     VARCHAR(40) NOT NULL,
);
INSERTAR DENTRO distribuidores SELECCIONAR * DESDE temp;
ELIMINAT TABLA temp;
       

Las clausulas para renombrar columnas y tablas son extensiones para PostgreSQL SQL92 no las provee.