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

Problema Procedimientos almacenados Oracle 10g Express

Estas en el tema de Problema Procedimientos almacenados Oracle 10g Express en el foro de Oracle en Foros del Web. Hola amigos resulta que hasta ahora estoy trabajando con oracle 10g express edition y no he podido lograr que un procedimiento almacenado funcione, el objetivo ...
  #1 (permalink)  
Antiguo 14/11/2010, 11:11
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Problema Procedimientos almacenados Oracle 10g Express

Hola amigos resulta que hasta ahora estoy trabajando con oracle 10g express edition y no he podido lograr que un procedimiento almacenado funcione, el objetivo de este procedimiento es insertar datos en una tabla denominada productos, los datos se le envian como parametros, posteriormente valida si esos datos no han sido ingresados y dependiendo del resultado los ingresa o no, el procedimiento que tengo es asi:

create or replace procedure insertar (idproducto in char(7),descripcion in nvarchar2,existencia in number)
is
declare id char(7);
begin
select idprod into id from productos where idprod = idproducto;
if (id=idproducto) then
dbms_output.line('YA HA SIDO INGRESADO');
else
insert into productos (idprod,descripcion,existencias) values (idproducto,descripcion,existencia);
dbms_output.line('PRODUCTO INGRESADO CORRECTAMENTE');
end if;
end insertar;


pero a la hora de ejecutarlo me da el siguiente error

ERROR en línea 12: PLS-00103: Se ha encontrado el símbolo "end-of-file" cuando se esperaba uno de los siguientes:

begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with


Ya le he modificado varias cosas pero no logro hacerlo funcionar, y no se donde pueda estar el error, aparentemente todo esta correcto. Les agradezco de antemano su ayuda.
  #2 (permalink)  
Antiguo 14/11/2010, 23:13
Avatar de raraniva  
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema Procedimientos almacenados Oracle 10g Express

1. Quitá la palabra reservada "declare" - ya que en funciones y procs es reemplazada por el "is"
2. Reemplazá idproducto in char(7) por idproducto in char. En los parámetros de procs y funciones solo es necesario el tipo de dato y no su longitud

http://www.plsqlexpert.com
Keep it Simple!

Etiquetas: express, procedimiento, almacenar
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 00:17.