si usas p_gen_interes('CL001',1,'gerardo') desde una consola te funciona perfectamente?
--- On Fri, 6/27/08, Gerardo Gonzalez <gergonvel@hotmail.com> wrote:
From: Gerardo Gonzalez <gergonvel@hotmail.com> Subject: RE: [pgsql-es-ayuda] llamadas dinamicas To: "Julio Cesar Rodriguez Dominguez" <jurasec@gmail.com> Cc: "Ayuda Postgres" <pgsql-es-ayuda@postgresql.org> Date: Friday, June 27, 2008, 5:36 PM
Señores me pueden ayudar?:
Lo que estoy haciendo es:
declare c_par_cobro refcursor; r_par_cobro record; vquery varchar(100); inp_age_id char(05); inp_cli_folio int; inp_usu_id varchar(10); Begin .... .... fetch c_par_cobro into r_par_cobro; while found loop
v_query:= r_par_cobro.cob_prc_almacenado || '(' || quote_literal(inp_age_id) || ','||inp_cli_folio||','||quote_literal(inp_usu_id)||')'; raise notice '%', v_query; execute v_query into v_par_cobro; end loop; close c_par_cobro; ..... .... end
con esto obtengo la siguiente cadena:
p_gen_interes('CL001',1,'gerardo')
la cual la executo con: execute v_query into v_par_cobro;
pero lo que sucede es que me arroja el siguiente error:
ERROR: error de sintaxis en o cerca de «p_gen_interes» at character 1 QUERY: p_gen_interes('CL001',1,'gerardo') CONTEXT: PL/pgSQL function "p_gen_cargakihgo" line 110 at EXECUTE statement
PD Utilizo el postgres 8.3
Muchas Gracias de antemano.... Gerardo
> From: gergonvel@hotmail.com > To: jurasec@gmail.com > CC: pgsql-es-ayuda@postgresql.org > Subject: RE: [pgsql-es-ayuda] llamadas dinamicas > Date: Wed, 11 Jun 2008 23:14:50 -0400 > > > Te agradezco Julio; > > Me surge otra duda y como sería la formacion de l execute si la funcion a la que > se llama devuelve un valor. > > Atte., > Gerardo > > ---------------------------------------- >> Date: Wed, 11 Jun 2008 20:38:24 -0500 >> From: jurasec@gmail.com >> To: gergonvel@hotmail.com >> Subject: Re: [pgsql-es-ayuda] llamadas dinamicas >> CC: pgsql-es-ayuda@postgresql.org >> >> 2008/6/11 Gerardo Gonzalez : >>> hola lista.. me pueden ayudar. como se puede hacer una funcion que llame a >>> otra funcion pero de forma dinamica., es decir, tengo una tabla q tiene la >>> sigte estructura: create table funciones ( orden int , funcion varchar(25) ) >>> con los siguientes datos orden | Funcion --------------------- 1 | funcion1 >>> 2 | funcion2 y lo que necesito es crear una funcion q pueda ejecutar las >>> funciones que se indican en la tabla en el ordenque se indican. Les >>> agredezco su ayuda. gracias. atte., Gerardo. >> >> Puedes usar execute dentro de un pl/pgSql, con esta puedes ir armando >> tu llamada con la cadena que consultes de la tabla de funciones. >> >> Por ejemplo: >> >> select into cadena_funcion funcion from funciones where .... ; >> >> execute cadena_funcion||'('||parametro||')'; >> >>> ________________________________ >>> Ingresa ya a MSN en Concierto y disfruta los recitales en vivo de tus >>> artistas favoritos. MSN en Concierto >> >> >> >> -- >> :: God bless you, every day and every night :: >> -- >> TIP 5: ¿Has leído nuestro extenso FAQ? >> http://www.postgresql.org/docs/faqs.FAQ.html > > _________________________________________________________________ > ¿Aburrido? Ingresa ya y diviertete como nunca en MSN Juegos. > http://juegos.cl.msn.com/-- > TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
_________________________________________________________________ Ingresa ya a MSN en Concierto y disfruta los recitales en vivo de tus artistas favoritos. http://msninconcert.msn.com/music/archive/es-la/archive.aspx-- TIP 7: no olvides aumentar la configuración del "free space map" |
No comments:
Post a Comment