with tipo temporales tablas tabla las funciones eliminar donde dinamica crear almacenan sql sql-server dummy-data

temporales - variables tipo tabla sql server



La forma más rápida de llenar la tabla SQL con datos ficticios (4)

Como se mencionó en "SQLMenace", RedGate Data Generator es una herramienta muy buena para cumplirlo, cuesta $ 369, aunque tienes una posibilidad de prueba de 14 días.

El punto positivo es que RedGate identifica claves externas para que pueda aplicar UNIR en sus consultas.

Tiene un montón de opciones que le permiten decidir cómo se debe rellenar cada columna, cada columna se anticipa semánticamente para que se sugieran datos relacionados, por ejemplo, si tiene una columna llamada ''Departamento'', no está llena de datos extraños Los caracteres se rellenan con expresiones como "Técnico", "Web", "Cliente", etc. Incluso puede usar expresiones regulares para restringir los caracteres seleccionados.

Llené mis tablas con más de 10,000,000 de registros que fue una simulación impresionante.

ACTUALIZACIÓN: solo necesita Go 1000 después de su INSERTAR, para llenarlo 1000 veces, así:

INSERT INTO dbo.Cusomers(Id, FirstName, LastName) VALUES(1, ''Mohamed'', ''Mousavi'') GO 1000

Hará una tabla con 1000 filas iguales en ella. Otra solución es que puede llenar la primera fila de su tabla con algunos datos, luego rellena las siguientes filas de la tabla repitiendo la primera fila una y otra vez, lo que significa que llena la tabla por sí mismo:

INSERT INTO dbo.Customers SELECT * FROM dbo.Customers GO 10

En el caso de que una o más columnas sean identidades, significa que aceptan valores únicos, si es auto-incremental, simplemente no lo coloque en su consulta, por ejemplo, si Id en dbo.Customer es identidad, la consulta es así:

INSERT INTO dbo.Customers SELECT FirstName, Last Name FROM dbo.Customers GO 10

En lugar de:

INSERT INTO dbo.Customers SELECT Id, FirstName, Last Name FROM dbo.Customers GO 10

Si no, encontrarás este error:

An explicit value for the identity column in table ''dbo.Customers'' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Nota: Esto es una especie de progresión aritmética, así que va a durar un poco, no uses un número grande delante de GO .

Si desea tener una tabla que esté un poco más elaborada, puede lograrlo de la misma manera esta vez ejecutando una consulta simple y siguiendo estos pasos:

  1. Elija una de sus tablas que tenga un número notable de filas, por ejemplo, dbo. Clientes

  2. Haga clic derecho en él y seleccione Script Table as > Create To > New Query Editor Window

  3. Nombre su nueva tabla a otra cosa como dbo.CustomersTest, Ahora puede ejecutar la consulta para tener una nueva tabla con una estructura similar con el dbo.Customers.

Nota: tenga en cuenta que si tiene una identidad archivada, cambie su Identity Specification to No ya que se supone que debe completar la nueva tabla con los datos de la original repetidamente.

  1. Ejecute la siguiente consulta, se ejecutará 1000 veces, puede cambiarla a más o menos, pero tenga en cuenta que podría durar minuetos basados ​​en el hardware de su computadora:

    INSERT INTO [dbo]. [CustomersTest] SELECT * FROM [dbo]. [Customers] GO 1000

  2. Después de un tiempo tienes una tabla con filas ficticias en ella!

¿Cuál es la forma más rápida de llenar una tabla SQL con datos ficticios?

Tengo una tabla amplia con aproximadamente 40 campos de diferentes tipos (int, bit, varchar, etc.) y necesito hacer algunas pruebas de rendimiento. Estoy usando SQL Server 2008.

¡Gracias!



Respuesta tardía pero puede ser útil para otros lectores de este hilo. Además de otras soluciones, puedo recomendar la importación de datos desde un archivo .csv mediante SSMS o scripts de importación SQL personalizados, programas. Hay un tutorial paso a paso sobre cómo hacer esto, por lo que puede consultar: http://solutioncenter.apexsql.com/how-to-generate-randomized-test-data-from-a-csv-file/

Tenga en cuenta que importar un archivo .csv mediante SSMS o scripts de importación SQL personalizados es más fácil que crear las inserciones de SQL manualmente, pero existen algunas limitaciones, como se explica en el tutorial:

Si se necesitan miles de filas para rellenar, y el archivo .csv contiene unos cientos de filas de datos, no es suficiente. La solución es volver a importar el mismo archivo .csv una y otra vez hasta que sea necesario. El inconveniente de este método es que insertará grandes bloques de filas con los mismos datos, sin aleatorizarlos.

El tutorial también explica cómo usar un generador de datos SQL de terceros llamado ApexSQL Generate . La herramienta tiene una función integrada para generar grandes cantidades de datos aleatorios del archivo con formato .csv importado. La aplicación presenta una prueba gratuita totalmente funcional para que pueda descargarla y probarla para ver si funciona para usted.


Generador de datos SQL por RedGate

Generación de datos en un clic

Datos realistas basados ​​en columna y nombre de tabla

Los datos se pueden personalizar si se desea

Elimina horas de trabajo tedioso.

Soporte completo para SQL Server 2008