En lugar de
crear tablas de la nada y luego insertar filas en ellas. Las tablas pueden ser
creadas en base a otras tablas mediante el uso de subquerys. Esta técnica
permite crear la definición de una tabla y luego poblarla con filas con una
sola sentencia. Cualquier consulta en absoluto puede ser usada como la fuente
de creación de otra tabla (estructura). La sintaxis es la siguiente:
CREATE TABLE
[esquema.]tabla AS subquery;
Todas las consultas devuelve un conjunto de datos de dos dimensiones.
Este resultado es almacenado en una nueva tabla.
Ejemplo:
CREATE TABLE
employees_copia AS
SELECT * FROM
employees;
Esta sentencia crea una copia idéntica de employees. Idéntica en la
definición y las filas que contiene. Cualquier Constraint NOT NULL y CHECK sobre
las columnas serán aplicados también a la nueva tabla. Pero cualquier
Constraint Primary Key, Unique y Foreing-Key no serán creados. Esto es porque
estos últimos tres tipos requieren de un índice que podría no estar disponible
o deseado.
Cualquier subquery puede ser utilizado como fuente para crear una
nueva tabla. Las filas son insertadas en el orden especificado. El subquery
puede incluir la clausula WHERE para restringir las filas a insertar en la
nueva tabla. Para crear una tabla sin ninguna fila, se deben excluir todas las
filas, Así la tabla será creada sin ninguna fila y quedara lista para su uso.
CREATE TABLE
employees_copia2 AS
SELECT * FROM
employees WHERE 1=2;
Comentarios
Publicar un comentario