2009-10-30 65 views
30

Lo único que no tengo una herramienta automática para trabajar con Oracle es un programa que puede crear secuencias de comandos INSERT INTO.Generar inserción sql en Oracle

No lo necesito desesperadamente, así que no voy a gastar dinero en él. 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.

He buscado a través de Oracle sin tener suerte en la búsqueda de tal característica.

Existe en PL/SQL Developer, pero hay errores para los campos BLOB.

+1

¿No puedes usar SQL * Loader? (Lo sé, es un poco más esfuerzo configurarlo, pero al menos puedes crear un "aspecto" para cada mesa y luego volcar contenido en tu archivo) – davek

Respuesta

0

Si tiene que cargar una gran cantidad de datos en las tablas de forma regular, consulte SQL Loader o tablas externas. Debe ser mucho más rápido que los Inserts individuales.

-2

También puede usar MyGeneration (herramienta gratuita) para escribir sus propios scripts generados en sql. Existe un script "insert into" para SQL Server incluido en MyGeneration, que se puede cambiar fácilmente para ejecutarlo bajo Oracle.

31

de Oracle libre SQL Developer va a hacer esto:

http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html

Usted acaba de encontrar su tabla, haga clic en él y seleccione Exportar Datos-> Insertar

Esto le dará un archivo con sus instrucciones de inserción. También puede exportar los datos en formato SQL Loader.

+7

De manera similar, podrías intentar ejecutar (con F5) la versión más sexy del arriba en Sql Desarrollador: SELECT/* insert */* FROM your_table; – gerodim

1

Es posible ejecutar algo como esto en la base de datos:

select "insert into targettable(field1, field2, ...) values(" || field1 || ", " || field2 || ... || ");" 
from targettable; 

algo más sofisticado es here.

-1
  1. haga clic izquierdo en el nombre de la tabla debajo de las tablas en el panel izquierdo.
  2. Haga clic en la pestaña Datos. aquí verá los datos presentes dentro de la pestaña.
  3. Seleccione los datos para los cuales necesita crear consultas de inserción.
  4. Haga clic derecho en los datos y haga clic en exportar.
  5. Seleccione el formato como "insertar"
  6. Espere unos segundos y su secuencia de comandos sql está lista.
1

He estado buscando una solución para esto y la encontré hoy. Aquí sabrás como podrás hacerlo.

  1. abierto Oracle SQL Developer Generador de consultas

  2. Ejecutar la consulta

  3. haga clic en el botón derecho en conjunto de resultados y la exportación

    http://i.stack.imgur.com/lJp9P.png

+0

Mientras esto funciona, obliga a que la consulta se ejecute dos veces. La primera vez cuando se muestran los resultados en la pantalla, luego otra vez cuando se exporta al archivo. No está mal para las mesas pequeñas, pero es malo para las grandes. –

1

Si usted tiene un vacío tabla el método de exportación no funcionará. Como una solución.Utilicé la vista de tabla de Oracle SQL Developer. y hizo clic en Columnas. Ordenado por Nullable, por lo que NO estaba en la parte superior. Y luego seleccionó estos valores que no admiten nulos usando shift + select para el rango.

Esto me permitió hacer una inserción de base. Para que Export pueda preparar una inserción adecuada de todas las columnas.

15

Puede hacerlo en PL/SQL Developer v10.
1. Haga clic en la tabla para la que desea generar el script.
2. Haga clic en Exportar datos.
3. Compruebe si se selecciona la tabla para la que desea exportar los datos.
4. Haga clic en la pestaña de inserciones SQL.
5. Agregue la cláusula where si no necesita toda la tabla.
6. Seleccione el archivo donde encontrará su script SQL.
7. Haga clic en exportar.
enter image description here

4

Utilice esta:

Uso:

select fn_gen_inserts('select * from tablename', 'p_new_owner_name', 'p_new_table_name') 
from dual; 

donde:

p_sql   – dynamic query which will be used to export metadata rows 
p_new_owner_name – owner name which will be used for generated INSERT 
p_new_table_name – table name which will be used for generated INSERT 

p_sql en esta muestra es 'select * from nombre_tabla'

Puede encontrar el código fuente original aquí:

Here is another script con una idea similar, que genera inserción utilizable de forma individual en lugar de un bloque SQL, pero admite menos tipos de datos.

+0

Lea [¿Cómo ofrecer bibliotecas personales de código abierto?] (// meta.stackexchange.com/q/229085), y ** explíquele que este es su propio proyecto **. – robinCTS