2009-01-08 18 views
17

Lo único que no tengo una herramienta automatizada para trabajar con SQL Server es un programa que puede crear scripts INSERT INTO. No lo necesito desesperadamente, así que no voy a gastar dinero en eso. Me pregunto si hay algo que se pueda usar para generar secuencias de comandos INSERT INTO en una base de datos existente sin gastar mucho dinero.¿Hay alguna herramienta gratuita para generar secuencias de comandos 'INSERT INTO' en MS SQL Server?

He buscado a través de SQL Server Management Studio Express sin tener suerte en la búsqueda de dicha función. Si existe en SSMSE, entonces nunca lo he encontrado.

+1

Demasiada información. ¿De qué estás generando la inserción en los scripts? – casperOne

+0

Esta pregunta fue muy útil para mí. Me alegro de que alguien me haya preguntado y más feliz que alguien haya dado la respuesta correcta – Juanjo

Respuesta

19

Este sitio web tiene muchas secuencias de comandos útiles, incluyendo generating inserts.

Puede utilizar sp_msforeachtable con él para generar una base de datos completa.

Actualización: Hay funcionalidad incorporada para script de datos como INSERT en SQL Server Management Studio 2008 (en adelante).

SQL Server 2008:

Haga clic derecho en su base de datos en SSMS, seleccione Tasks –> Generate Scripts, asegúrese de que se resalte su base de datos y haga clic en Siguiente. Desplácese hacia abajo en la lista de opciones a la sección "Opciones de tabla/vista" y cambie "Datos de secuencia de comandos" a True.

enter image description here

SQL Server 2012:

Haga clic derecho en su base de datos en SSMS, seleccione Tasks –> Generate Scripts. Elija las tablas para las que desee generar INSERTs con scripts, luego haga clic en Next. Elija dónde desea enviar la salida (como una nueva ventana de consulta), y luego haga clic en el botón Advanced (que por algún motivo se encuentra en la sección Guardar en archivo). Desplácese por la lista de opciones hasta la opción "Tipos de datos para secuencia de comandos" y cámbiela a "Solo datos" o "Esquema y datos". Haga clic en Next dos veces.

enter image description here

enter image description here

+0

Utilicé ese script hoy =) – StingyJack

+4

Pero tenía que encontrar uno modificado que funcionara con SQL2005 + ... http: //www.benzzon.se/forum/printer_friendly_posts .asp? TID = 86 – StingyJack

+0

¡Me encantó ese sitio durante el año pasado! –

1
No

seguro acerca de la edición expresa pero la edición normal de SMSS, puede hacer clic en una pestaña y escritura de la tabla como select, update inserción a una nueva ventana, portapapeles o archivo.

También puede ver MyGeneration o CodeSmith como generadores de código. Creo que son gratis y deberían tener plantillas soem que, dado un DB, crearán un montón de procs almacenados para ti.

0

En SQL Server Management Studio Express, haga clic con el botón derecho en una tabla en la barra lateral del Explorador de objetos y seleccione "Tabla de script como/INSERTAR a/Ventana nueva del editor de consultas".

+2

Eso no script el contenido de la tabla. – ProfK

+0

Esta respuesta no es una respuesta: es completamente incorrecta. Por favor borrar. (He marcado como no como respuesta, pero un moderador en su sabiduría, lo rechazó) –

4

Hay un proceso almacenado llamado "sp_generateinserts" que puede buscar en Google. Tomará una tabla y la convertirá en instrucciones de inserción.

17

también se puede utilizar este complemento para SSMS que proporciona esta funcionalidad: http://www.ssmstoolspack.com/

también proporciona otras características útiles también.

+0

+1. Necesitaba hacer esto hoy y el paquete de herramientas de SSMS funcionó de maravilla. Gracias por la info. –

+0

Acaba de descargarlo, parece bastante útil. – Fishcake

0

No mucha gente lo sabe, pero puede usar sub sonic (http://subsonicproject.com/) para crear una secuencia de comandos de la estructura de la base de datos y de los datos que contiene.

Los comandos son bastante simples (uso la línea de comando) ej.

sonic.exe scriptdata/server testserver/db testdb.

Esto creará una secuencia de comandos de todos los datos en las declaraciones de inserción :), agradable y limpio. También puede enganchar esto en el estudio visual si desea hacerlo más fácil y no usar la línea de comando.

1

Si solo desea insertar datos de prueba y tiene menos de 64K filas para insertar, puede usar Excel (eso es lo que hago).

Por ejemplo, si pones los valores en las celdas A1, B1, C1 y, a continuación, introduce la siguiente fórmula en D1, se obtendría una instrucción de inserción utilizable:

= "INSERT INTO TEST (col1, col2 , col3) VALUES ("& a1 &", "& b1 &", "& c1 &"); "

Luego simplemente complete y puede modificar los datos en cualquier momento que desee.

0

Puede generar el inserto en la declaración de este procedimiento almacenado. http://raresql.com/2011/12/20/how-to-generate-insert-statements-from-table-data-using-sql-server/ pero normalmente estamos generando inserción en sentencia como esta:

Insert into [table] (...) values (...) 

Pero, en este procedimiento, puede generar inserción en sentencia como esta

Insert into [table] 
    select * from [table] Union ALL 
    select * from [table] 

Por lo tanto, puede ver los datos antes inserción.

Imran

Cuestiones relacionadas