Guardar varios registros

Zamira
10 de Noviembre del 2005
Estoy usando un procedimiento "guardar_materia" para guardar un registro en la base de datos, asi:

Tengo un boton que ejecuta la linea guardar_materia(:materia.codigo, :materia.nombre);

El procedimiento es el siguiente:

procedure guardar_materia (v_cod in number, v_nom in varchar2) IS
BEGIN
insert into materia (cod_materia, nombre_materia)
values (v_cod, v_nom);
commit;
END ;

Trabaja muy bien cuando se trata de un sola registro, pero cuando le mando varios registro de una sola vez solamente guarda el primero y el ultimo.
Que ciclo debo usar para que guarde todas los registros que le mando?

Gracias

Jor-El
10 de Noviembre del 2005
¿ Puedes decirnos como mandas varios registros a la vez al procedure que has puesto?

Rodolfo Reyes
10 de Noviembre del 2005
El tipo de ciclo no importa, puedes utilizar cualquiera.

Intenta quitar el commit que esta dentro del procedimiento, y ponlo al final del ciclo.

while contador > 0 LOOP
guardar_materia (1,'AA');
CONTADOR := CONTADOR -1;
end LOOP;

COMMIT;