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

insertar multiples registros

Estas en el tema de insertar multiples registros en el foro de Oracle en Foros del Web. Buenas, ¿existe alguna manera de insertar varios registros en una tabla en la misma sentencia o tendría que ejecutar la sentencia insert tantas veces como ...
  #1 (permalink)  
Antiguo 22/03/2007, 14:43
 
Fecha de Ingreso: enero-2004
Mensajes: 12
Antigüedad: 20 años, 10 meses
Puntos: 0
insertar multiples registros

Buenas,

¿existe alguna manera de insertar varios registros en una tabla en la misma sentencia o tendría que ejecutar la sentencia insert tantas veces como registros quiera insertar?

He intentado insert into tabla values ('a','b'),('c','d')

pero no funciona... parece que se queja de la coma entre los dos registros...

Gracias
  #2 (permalink)  
Antiguo 22/03/2007, 23:06
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
Re: insertar multiples registros

Debes hacer un procedimiento que te lea los valores y hacer insert separados

Código:
 CREATE OR REPLACE PROCEDURE multiples AS 
BEGIN 
  FOR i IN 1 .. 100 LOOP 
    INSERT INTO my_table (id, description) 
    VALUES (i, 'Description of ' || i); 
  END LOOP; 
  COMMIT; 
END; 
/
o simplemente

Código:
 CREATE OR REPLACE PROCEDURE fmultiples AS 
BEGIN 
  INSERT INTO my_table (id, description) VALUES (1, 'ONE'); 
  INSERT INTO my_table (id, description) VALUES (10, 'TEN'); 
  COMMIT; 
END; 
/
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 22/03/2007, 23:33
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 9 meses
Puntos: 7
Re: insertar multiples registros

existen varias opciones para hacer lo que necesitas, algunas solo estan disponibles para la version 10g, personalmente no las he usado, aqui puedes checar un documento al respecto

http://www.oracle.com/technology/ora...ech_plsql.html
__________________
Blogzote.com :-) Mi blog
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 13:52.