Re: Ayuda con llamada a funcion

From: Javier Chavez Barra <jchavezb(at)gmail(dot)com>
To: Ramón Alberto Bruening González <albertobruening(at)hotmail(dot)com>
Cc: nachxs(at)gmail(dot)com, postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con llamada a funcion
Date: 2007-11-16 22:20:18
Message-ID: 473E17A2.5000002@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ramón Alberto Bruening González escribió:
>
>
> > Subject: RE: [pgsql-es-ayuda] Ayuda con llamada a funcion
> > From: nachxs(at)gmail(dot)com
> > To: albertobruening(at)hotmail(dot)com
> > CC: pgsql-es-ayuda(at)postgresql(dot)org
> > Date: Sun, 25 Nov 2007 22:24:45 -0500
> >
> > Hola Ramon, aparentemente el problema era por el campo numeric, lo
> > cambie a float y bueno ya no aparece ese error, la verdad se me paso.
> > Bueno el detalle es que ahora me aparece otro error me muestra que no
> > existe la columna "OK". Si te fijas en la funcion tengo varios retornos
> > y en uno de ellos pongo return "OK", dime esta bien definido esto??
> >
> > Gracias por la respuesta.
> >
> >
> > El lun, 26-11-2007 a las 02:50 +0000, Ramón Alberto Bruening González
> > escribió:
> > >
> > >
> > > > Subject: [pgsql-es-ayuda] Ayuda con llamada a funcion
> > > > From: nachxs(at)gmail(dot)com
> > > > To: pgsql-es-ayuda(at)postgresql(dot)org
> > > > Date: Sun, 25 Nov 2007 21:20:11 -0500
> > > >
> > > > Sres como estan, bueno recurriendo otra vez a Uds. por una consulta,
> > > > estoy trabajando con una aplicacion en Java y postgres, y se me esta
> > > > presentando un problema al llamas la funcion desde mi aplicacion
> > > java.
> > > > Esta es mi funcion:
> > > >
> > > > Create or Replace Function sp_inserta_evaluaciones (
> > > > codigo_evaluacion Char(5),
> > > > titulo Varchar(50),
> > > > tipo_evaluacion Varchar(100),
> > > > nombre_curso Varchar(100),
> > > > peso Numeric,
> > > > minimo Integer,
> > > > maximo Integer) Returns VARCHAR As $$
> > > >
> > > > Declare
> > > > codigo_tipoevaluacion Char(5);
> > > > codigo_curso Char(5);
> > > > fecha TimeStamp With Time Zone;
> > > >
> Begin
> fecha = current_date;
> Select idtipoevaluacion into codigo_tipoevaluacion from
> tipoevaluacion Where desc_tipoevaluacion = tipo_evaluacion;
> Select idcursos into codigo_curso from cursos Where descripcion =
> nombre_curso;
> If codigo_tipoevaluacion is not NULL Then
> If codigo_curso is not NULL Then
> Insert Into evaluacion Values
> (codigo_evaluacion,codigo_tipoevaluacion, codigo_curso, titulo, fecha,
> peso, minimo, maximo);
> Return 'OK'; FIJATE AQUI UTILIZO COMILLA SIMPLE, LO OTRO SE UTILIZA
> PARA NOMBRES DE CAMPOS
> Else
> Return 'No el existe codigo de curso, para este nombre'; AQUI
> TB COMILLA SIMPLE
> End If;
> Else
> Return 'No el existe codigo de tipo de evaluacion, para este
> nombre'; TAMBIEN AQUI
> End If;
>
> End;
> $$ Language plpgsql;
>
> Ojala te ayude, Saludos...
>
> > > >
> > > > el problema es cuando hago la llamada desde java, lo hago de la
> > > siguiente forma:
> > > >
> > > > try
> > > > {
> > > > con = Conexion.ConexionBD();
> > > > call=con.prepareCall("{ ?=call
> > > sp_inserta_evaluaciones(?,?,?,?,?,?,?) }");
> > > > call.registerOutParameter(1,Types.VARCHAR);
> > > > call.setString(2,codigoEvaluacion);
> > > > call.setString(3,titulo);
> > > > call.setString(4,tipoEvaluacion);
> > > > call.setString(5,curso);
> > > > call.setFloat(6,peso);
> > > > call.setInt(7,notaMinima);
> > > > call.setInt(8,notaMaxima);
> > > > call.execute();
> > > > valorRetorno = call.getString(1);
> > > > return valorRetorno;
> > > > }
> > > > catch(Exception e){
> > > > return e.getMessage();
> > > > }
> > > >
> > > > cuando ejecuto el codigo me sale que la funcion no existe en la base
> > > de
> > > > datos. Aguna sugerencia??
> > > >
> > > > --
> > > > TIP 3: Si encontraste la respuesta a tu problema, publícala, otros
> > > te lo agradecerán
> > >
> > > Buenas noches:
> > >
> > > Tendrias que ver los tipos de datos de tu funcion, debe coincidir con
> > > los tipos de datos que pasas desde tu aplicacion, porque x lo q he
> > > visto hasta ahora, la funcion hace referencia a los parametros por el
> > > tipo de dato y no por el nombre de los mismos.
> > >
> > > Veo q en la parte del parametro de peso, definiste como numeric pero
> > > le estas pasando un float, fijate en los demas.
> > >
> > > Espero haberte ayudado.
> > >
> > >
> > >
> > > ______________________________________________________________________
> > > Explore the seven wonders of the world Learn more!
> >
> > --
> > TIP 3: Si encontraste la respuesta a tu problema, publ�cala, otros
> te lo agradecer�n
>
>
> ------------------------------------------------------------------------
> Discover the new Windows Vista Learn more!
> <http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE>
Francamente me perdi con sus respuestas.. por favor por el bien de todos
me encanta leer sus correos se aprende bastante con TODOS pero no hagan
Top Posting!!!... se hace muy dificil leer las soluciones que entregan
Desde ya muchisimas Gracias.
J.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message mariana chagra 2007-11-16 22:34:57 Re: Cambio de Proyeccion
Previous Message Henry 2007-11-16 22:05:38 Re: EJEMPLO DE RETURNING