Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

insert

Estas en el tema de insert en el foro de Bases de Datos General en Foros del Web. Hola. tengo 25.000 datos que insertar a una tabla, como puedo hacerlo en forma mas automatica, sin tener que ejecutar de a una query? esto ...
  #1 (permalink)  
Antiguo 07/03/2006, 13:34
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
insert

Hola.
tengo 25.000 datos que insertar a una tabla, como puedo hacerlo en forma mas automatica, sin tener que ejecutar de a una query? esto con Oracle. quiza hay algun modo en pl/sql
Atte
Mauricio
  #2 (permalink)  
Antiguo 07/03/2006, 14:26
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
si los datos los tienes en un archivo de texto puedes hacer importandolos directamente a Oracle.

LOAD DATA
INFILE *
INTO TABLE aqui_la_tabla
APPEND
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED '"'
TRAILING NULLCOLS
(nombre, apellido, nacimiento date(10) 'MM/DD/YYYY')
BEGINDATA
JUAN JOSE|MENDEZ|15/08/1970
MARIA|HERNANDEZ|30/06/1945

EN DONDE:
Aqui_la_tabla: es la tabla donde deseas importar los datos.
nombre,apellido, nacimiento: los campos que vas a insertar.

este archivo lo guardas con una extension CTL y luego desde <oracle_home>bin tecleas lo siguiente:

sqlldr miusuario/mipasword@mibase personas.ctl rows=10 errors=30000

en donde:
miusuario: Usuario de la Instancia
mipassword: Password asignado
mibase: Nombre de la base de Datos que estas utilizando
personas.ctl: nombre que le diste al archivo que antes era .txt
rows=10 : Significa que cada 10 registros ira haciendo COMMIT
errors=30000 : Significa el numero de errores que te puede soportar

Esto te generara dos archivos... uno .log y uno .bad ... El primero te muestra si se migraron bien o no los datos y el segundo te muestra los archivos que no fueron insertados en la base de datos y te muestra ademas cual fue el error.

NOTA: En este caso los archivos los tengo separados por "|"... si tu los tienes separados por "," o por un tabulador u otro caracter especial tienes que decirle en la parte FIELDS TERMINATED BY '|' OPTIONALLY
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 08/03/2006, 06:18
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
Muchas gracias por tu respuesta, Ahora tengo que resolver otros temas como donde poner el archivo txt para insertar.
Mira uso toad, y el oracle esta en un server con unix. Ahorayo me conecto por medio de una cuenta. donde puedo generar tablas. y hacer consultas.
Atte
Mauricio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:33.