Share via


Cómo: Crear consultas Insert Results

Actualización: noviembre 2007

Puede copiar filas de una tabla a otra o dentro de una misma tabla utilizando una consulta Insert Results. Por ejemplo, en una tabla titles, puede utilizar una consulta Insert Results 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 Insert Results es similar a una consulta Make Table, con la diferencia de que la primera copia las filas en una tabla existente.

Sugerencia:

También puede copiar filas de una tabla a otro 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 otra.

Cuando se crea una consulta Insert Results, 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 Insert Values.

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 posiciones 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 Insert Results, el Panel de 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.

Precaución:

No se puede deshacer la operación de ejecutar una consulta Insert Results. Como medida de precaución, haga una copia de seguridad de los datos antes de ejecutar la consulta.

Nota:

Los cuadros de diálogo y comandos de menú que se ven podrían ser distintos de los incluidos en la Ayuda, dependiendo de la configuración activa. Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Para crear una consulta Insert Results

  1. 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.

  2. En el menú Diseñador de consultas, seleccione Cambiar tipo y, a continuación, haga clic en Insertar resultados.

  3. En el cuadro de diálogo Elegir tabla de destino para Insertar resultados, seleccione la tabla en la que va a copiar filas (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 para la consulta Insertar desde, 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.

  4. 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 de criterios.

  5. En la columna Anexar del Panel de 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.

  6. 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 la consulta.

  7. Indique las filas que desea copiar especificando condiciones de búsqueda en la columna Filtro. Para obtener información detallada, vea Cómo: Especificar condiciones de búsqueda.

    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 para su búsqueda en el Panel de 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 no quiere copiarla, desactive la casilla de verificación situada junto al nombre de la columna en el rectángulo que representa la tabla o el objeto con valores de tabla.

  8. Si desea copiar información de resumen, especifique opciones Agrupar por. Para obtener información detallada, vea Resumir los resultados de una consulta.

Cuando se ejecuta una consulta Insert Results, los resultados no se muestran en el panel Resultados. En su lugar, aparece un mensaje que indica el número de filas que se han copiado.

Vea también

Otros recursos

Tipos de consultas

Diseñar consultas y vistas