Página inicial  

Tema 6. Actualización de datos (III)


Insertar filas en una nueva tabla SELECT ... INTO


Esta sentencia inserta filas creando en ese momento la tabla donde se insertan las filas. Se suele utilizar para guardar en una tabla el resultado de una SELECT.

La sintaxis es la siguiente:

Las columnas de la nueva tabla tendrán el mismo tipo y tamaño que las columnas origen, y se llamarán con el nombre de alias de la columna origen o en su defecto con el nombre de la columna origen, pero no se transfiere ninguna otra propiedad del campo o de la tabla como por ejemplo las claves e índices.

La sentencia SELECT puede ser cualquier sentencia SELECT sin ninguna restricción, puede ser una consulta multitabla, una consulta de resumen, una UNION ...

Ejemplo:

SELECT * INTO t2 FROM t1

Esta sentencia genera una nueva tabla t2 con todas las filas de la tabla t1. Las columnas se llamarán igual que en t1 pero t2 no será una copia exacta de t1 ya no tendrá clave principal ni relaciones con las otras tablas, ni índices si los tuviese t1 etc...

Si en la base de datos hay ya una tabla del mismo nombre, el sistema nos avisa y nos pregunta si la queremos borrar. Si le contestamos que no, la SELECT no se ejecuta.

Para formar una sentencia SELECT INTO lo mejor es escribir la SELECT que permite generar los datos que queremos guardar en la nueva tabla, y después añadir delante de la cláusula FROM la cláusula INTO nuevatabla.

La sentencia SELECT INTO se suele utilizar para crear tablas de trabajo, o tablas intermedias, las creamos para una determinada tarea y cuando hemos terminado esa tarea las borramos. También puede ser útil para sacar datos en una tabla para enviarlos a alguien.

Por ejemplo: Queremos enviarle a un representante una tabla con todos los datos personales de sus clientes para que les pueda enviar cartas etc...

SELECT numclie AS codigo, nombre, direccion, telefono INTO susclientes FROM clientes WHERE repclie = '103';

Vamos a suponer que hemos añadido a nuestra tabla de clientes los campos direccion y telefono. En el ejemplo anterior la nueva tabla tendrá cuatro columnas llamadas codigo, nombre, direccion, telefono y contendrá las filas correspondientes a los clientes del representante 103.

 


 
Pag.6.3
Aviso legal: este curso es gratuito siempre que se visualice desde la página web de aulaClic. No está permitido descargar el curso ni utilizarlo en academias o centros de enseñanza privados sin estar conectado a Internet.
© aulaClic. Todos los derechos reservados. Free Computer tutorials . Prohibida la reproducción por cualquier medio.
Julio-2001.aulaClic.com