316 votos

¿Cuál es la mejor manera de generar automáticamente comandos INSERT de una tabla de SQL Server?

Estamos escribiendo una nueva aplicación, y si bien la prueba, vamos a necesitar un montón de datos de prueba. He añadido que los datos mediante el uso de MS Access para el volcado de archivos de excel en las tablas pertinentes.

Cada tan a menudo, queremos "actualizar" las tablas pertinentes, lo que significa que se les caigan todos, re-creación y ejecución de un guarda de MS Access consulta de datos anexados.

La primera parte (de caer y volver a crear) es una sencilla secuencia de comandos sql, pero la última parte me hace temblar. Quiero una única secuencia de comandos de instalación que dispone de una serie de Insertos para regenerar los datos de prueba.

Tengo los datos en las tablas de ahora. ¿Cuál es la mejor manera de generar automáticamente una lista grande de las instrucciones INSERT de ese conjunto de datos?

Estoy pensando en algo como en SAPO (de Oracle), donde usted puede hacer clic derecho sobre una cuadrícula y haga clic en Guardar Como->Insert, y se acaba de volcar un gran secuencia de comandos sql a donde quieras.

La única manera que se me ocurre de hacerlo es guardar la tabla en una hoja de excel y, a continuación, escriba una fórmula de excel para crear una INSERCIÓN para cada fila, que no es ciertamente la mejor manera.

Yo estoy usando el 2008 Management Studio para conectarse a un Servidor SQL server 2005 de la base de datos.

595voto

Mike Ritacco Puntos 4104

Microsoft debe anunciar esta funcionalidad de SSMS 2008. La función que está buscando está integrado en el de Generar secuencia de Comandos de la utilidad, pero la funcionalidad está desactivada de forma predeterminada y debe ser activada cuando las secuencias de una tabla.

Esto es una carrera rápida a través de generar las declaraciones de Inserción para todos los datos en la tabla, el no uso de scripts o complementos para SQL Management Studio 2008:

  1. Haga clic derecho en la base de datos y vaya a Tareas -> Generar secuencias de comandos
  2. Seleccione las tablas (o el objeto) con el que desea generar el script.
  3. Ir a Conjunto de opciones de secuencias de comandos y haga clic en el Avanzada botón.
  4. En la General de la categoría, vaya a Tipo de datos de secuencia de comandos
  5. Hay 3 opciones: Solo Esquema, Sólo los Datos, y el Esquema y los Datos. Seleccione la opción adecuada y haga clic en ACEPTAR.

A continuación, recibirá la instrucción CREATE TABLE y todas las declaraciones de INSERCIÓN para los datos directamente de SSMS.

55voto

Shane Fulmer Puntos 4254

Utilizamos este procedimiento almacenado - que le permite llegar a las tablas específicas, y su uso cuando las cláusulas. Puede encontrar el texto aquí .

Por ejemplo, se le permite hacer esto: Para generar instrucciones INSERT para la tabla 'títulos':

 EXEC sp_generate_inserts 'titles'
 

26voto

noonand Puntos 1063

Como se ha mencionado por @Mike Ritacco, pero actualizado para la SSMS 2008 R2

  1. Haga clic derecho sobre el nombre de base de datos
  2. Seleccione Tareas > Generar secuencias de comandos
  3. Dependiendo de la configuración de la página de introducción puede mostrar o no
  4. Elija " Seleccionar determinados objetos de base de datos',
  5. Expanda la vista de árbol y verificación de las tablas relevantes
  6. Haga Clic En Siguiente
  7. Haga Clic En Opciones Avanzadas
  8. Bajo la sección General, seleccione la opción apropiada para los Tipos de datos de la secuencia de comandos"
  9. Complete el asistente

A continuación, recibirá todas las instrucciones de INSERCIÓN de los datos directamente de SSMS.

21voto

BinaryHacker Puntos 272

Usted puede utilizar SSMS Herramientas Pack (disponible para SQL Server 2005 y 2008). Viene con una función para generar instrucciones de inserción.

http://www.ssmstoolspack.com/

19voto

Erikest Puntos 1493

Estoy utilizando SSMS 2008 versión 10.0.5500.0. En esta versión como parte del asistente Generar scripts, en lugar de un botón Avanzado, está la pantalla de abajo. En este caso, yo quería sólo los datos introducidos y que no crean declaraciones, así que tuve que cambiar las dos propiedades en círculo Opciones de los scripts

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: