Oracle - crear procedimiento insercion

 
Vista:

crear procedimiento insercion

Publicado por maria (25 intervenciones) el 10/08/2004 09:30:07
Hola!
Mi pregunta es la siguiente:¿Cómo se crea un procedimiento en Oracle para insertar datos?Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:crear procedimiento insercion

Publicado por ET (2 intervenciones) el 10/08/2004 18:33:24
Es un poco vaga la pregunta, pero espero que esto te ayude, es un pequeño procedimiento que inserta en la tabla llamada TABLA1:

PROCEDURE INSERTA_EN TABLA (
Valor_Campo1 IN TABLA1.CAMPO1%TYPE,
Valor_Campo2 IN TABLA1.CAMPO2%TYPE,
Valor_Campo3 IN TABLA1.CAMPO3%TYPE,
Valor_Campo4 IN TABLA1.CAMPO4%TYPE,
cdgError OUT NUMBER,
MsjError OUT VARCHAR2)
IS
BEGIN
--
-- Aquí debería ir un código de validación si fuese necesario
--

-- Insertar datos en tabla: TABLA1
INSERT INTO TABLA1
(CAMPO1 , CAMPO2 , CAMPO3 , CAMPO4)
VALUES
(Valor_Campo1, Valor_Campo2, Valor_Campo1, Valor_Campo4);
COMMIT;
cdgError := 0;
MsjError := '';
EXCEPTION
WHEN OTHERS THEN
-- En caso de error enviar el código del error y mensaje asociado
cdgError:= SQLCODE;
MsjError := SqlErrm;
END INSERTA_EN TABLA;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear procedimiento insercion

Publicado por MARIA (25 intervenciones) el 11/08/2004 07:20:48
Perdón por no especificar.El caso concreto es:
Quiero insertar datos ,en una tabla llamada Tabla1,esos datos provienen de otra tabla(Tabla2) y he pensado hacer un procedimiento o función para que dichos datos se inserten automáticamente cada periodo de tiempo.Se que para insetar datos de una tabla a otra sería:
insert into Tabla1
select *
from tabla2;
y pense meter esto en un procedimiento,pero no se como y ha demás me sale que el satdo de mi procedimiento es Invalido.?Puedes ayudarme?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear procedimiento insercion

Publicado por Rodrigo Carrasco (1 intervención) el 11/08/2004 21:47:32
Envíame el código que llevas adelantado y la estructura de las tablas (DDL). Si es posible, envíame un par de registros para añadir a cada tabla y probar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear procedimiento insercion

Publicado por maria (25 intervenciones) el 12/08/2004 12:23:06
Aqui te mando el código:
create table RG1(
num_registro number(11) ,
empresa varchar2(50) ,
SuministradorN1 varchar2(50) ,
);
create table RG2(
num_registro number(11) ,
empresa varchar2(50) ,
SuministradorN1 varchar2(50) ,
);
Registros puedes ser:
Num_registro empresa SuministradorN1
1 Puleva La Castellana S.L.
2 IBM Garcia S.A.
3 Cardo Los Mellizos S.L.

El procedimiento que he realizado es:
Procedure INSERTAR
begin
insert into RGC1
select *
from RGC2:
Al compilarlo me sale State:Invaled.
Te explico un poco que es lo que quiero hacer:
Quiero copiar el contenido de unas tablas migradas a mis tablas originales de Oracle,para luego realizar una tarea programada con dicho procedimiento,aunque me han dicho que con un job de oracle tambien se puede hacer.Las dos tablas tienen la misma estructura.
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear procedimiento insercion

Publicado por Rodrigo Carrasco (26 intervenciones) el 12/08/2004 21:03:24
Te sale inválido porque tiene errores de sintaxis. ¿Qué sw gráfico usas para compilar los procedimientos?. En la mayoría aparecen formas de ayuda que et orientan mejor. Utiliza SQL Navigator o TOAD, son super buenos.
El procedimiento arreglado queda así:
Procedure INSERTAR is
begin
insert into RG1 (select * from RG2);
end;

....¿te sirvió?...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar