Cómo crear consultas de inserción de resultados (Visual Database Tools)
Puede copiar filas de una tabla a otra o dentro de una misma tabla utilizando una consulta de inserción de resultados. Por ejemplo, en una tabla titles
, puede utilizar una consulta de inserción de resultados para copiar la información de todos los títulos de una editorial en una segunda tabla y proporcionar esa tabla a la editorial. Una consulta de inserción de resultados es similar a una consulta de creación de tabla, con la diferencia de que la primera copia las filas en una tabla existente.
Sugerencia: |
---|
También puede copiar filas de una tabla a otra mediante las funciones de cortar y pegar. Cree una consulta para cada tabla y ejecútelas. Copie las filas que desee de una cuadrícula de resultados a la otra. |
Cuando se crea una consulta de inserción de resultados, se especifica:
- La tabla de base de datos en la que se van a copiar las filas (la tabla de destino).
- Las tablas de las que se van a copiar filas (tabla de origen). Las tablas de origen forman parte de una subconsulta. Si va a copiar datos dentro de una tabla, la tabla de origen es la misma que la tabla de destino.
- Las columnas de la tabla de origen cuyo contenido desea copiar.
- Las columnas de la tabla de destino en las que se van a copiar los datos.
- Las condiciones de búsqueda que definen las filas que desea copiar.
- El criterio de ordenación, si desea copiar las filas en un orden determinado.
- Las opciones Agrupar por, si sólo desea copiar información de resumen.
Por ejemplo, la siguiente consulta copia la información de títulos de la tabla titles
a una tabla de almacenamiento denominada archivetitles
. La consulta copia el contenido de cuatro columnas de todos los títulos que pertenecen a una determinada editorial:
INSERT INTO archivetitles
(title_id, title, type, pub_id)
SELECT title_id, title, type, pub_id
FROM titles
WHERE (pub_id = '0766')
[!NOTA] Para insertar valores en una nueva fila, utilice una consulta de inserción de valores.
Puede copiar el contenido de columnas seleccionadas o de todas las columnas de una fila. En ambos casos, los datos que se copian deben ser compatibles con las columnas de las filas en las que se van a copiar estos datos. Por ejemplo, si copia el contenido de una columna como price
, la columna de la fila donde realice la copia debe aceptar datos numéricos con decimales. Si copia una fila entera, la tabla de destino debe tener columnas compatibles en la misma posición física que la tabla de origen.
Cuando se crea una consulta de inserción de resultados, el panel Criterios varía para reflejar las opciones disponibles para la copia de datos. Se agrega una columna Anexar que permite especificar las columnas en las que deben copiarse los datos.
Advertencia: |
---|
No se puede deshacer la operación de ejecutar una consulta de inserción de resultados. Como medida de precaución, haga una copia de seguridad de los datos antes de ejecutar la consulta. |
Para crear una consulta de inserción de resultados
Cree una nueva consulta y agregue la tabla cuyas filas desea copiar (la tabla de origen). Si va a copiar datos dentro de una tabla, puede agregar la tabla de origen como tabla de destino.
En el menú Diseñador de consultas, seleccione Cambiar tipo y, a continuación, haga clic en Insertar resultados.
En el cuadro de diálogo Elegir tabla de destino para Insertar resultados, seleccione la tabla en la que va a copiar filas (la tabla de destino).
[!NOTA] El Diseñador de consultas y vistas no puede determinar con antelación las tablas y vistas que se pueden actualizar. Por tanto, en la lista Nombre de la tabla del cuadro de diálogo Elegir tabla de destino para Insertar resultados, se muestran todas las tablas y vistas disponibles en la conexión de datos que está consultando, incluso aquellas en las que no se pueden copiar filas.
En el rectángulo que representa la tabla o el objeto con valores de tabla, seleccione los nombres de las columnas cuyo contenido desea copiar. Para copiar filas enteras, elija * (Todas las columnas).
El Diseñador de consultas y vistas agrega las columnas seleccionadas a la columna Columna del panel Criterios.
En la columna Anexar del panel Criterios, seleccione una columna de la tabla de destino para cada columna que vaya a copiar. Elija tablename.* si va a copiar filas enteras. Las columnas de la tabla de destino deben tener el mismo tipo de datos que las columnas de la tabla de origen o un tipo de datos compatible.
Si desea copiar las filas en un orden determinado, especifique un criterio de ordenación. Para obtener información detallada, vea Ordenar y agrupar los resultados de una consulta (Visual Database Tools).
Indique las filas que desea copiar especificando condiciones de búsqueda en la columna Filtro. Para obtener información detallada, vea Especificar criterios de búsqueda (Visual Database Tools).
Si no especifica ninguna condición de búsqueda, se copiarán todas las filas de la tabla de origen en la tabla de destino.
[!NOTA] Cuando se agrega una columna que se desea buscar al panel Criterios, el Diseñador de consultas y vistas la agrega también a la lista de columnas que se van a copiar. Si desea utilizar una columna para realizar una búsqueda, pero sin copiarla, desactive la casilla de verificación situada junto al nombre de columna en el rectángulo que representa la tabla o el objeto con valores de tabla.
Si desea copiar información de resumen, especifique opciones Agrupar por. Para obtener información detallada, vea Resumir los resultados de una consulta (Visual Database Tools).
Cuando se ejecuta una consulta de inserción de resultados, estos no se muestran en el panel Resultados. En su lugar, aparece un mensaje que indica cuántas filas se han copiado.
Vea también
Otros recursos
Tipos de consultas (Visual Database Tools)
Diseñar consultas y vistas (Visual Database Tools)