Re: ayuda con ejecucion de funcion

From: "Diego Ayala" <netdiego81(at)gmail(dot)com>
To: "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ayuda con ejecucion de funcion
Date: 2008-07-30 19:58:23
Message-ID: 6b81cb150807301258w5b344665ve9195e931546ba2d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

buenas tardes amigos, disculpen que siga con esto, pero sigo teniendo el
mismo problema, esta es la situacion, les comento que ya probe de todas las
formas posibles ejecutar mi funcion, pero no consigo hacerlo funcionar, el
problema es el siguiente:

necesito ejecutar mi funcion utilizando dblink, hice lo siguiente

SELECT * INTO r1 FROM
dblink_connect('conn_wf177','hostaddr=192.168.10.250dbname=dncp-wf
user=desawf password=desawf');

PERFORM dblink_exec('conn_wf177','SELECT into prueba5 FROM
sige_db.f_insert_tbl_expe('||exp||'::integer,'
||ano||'::integer,'''||obs||'''::character varying,'||tipo||'::smallint,
'||des||'::smallint ,' ||med||'::smallint ,'||mod||'::integer
,'''||mail||'''::character varying,'||nen||'::smallint ,' ||ent||'::smallint
,' ||uoc||'::smallint ,' ||suoc||'::smallint ,' ||uep||'::smallint ) INTO
valor' ) ;

SELECT * INTO r1 FROM dblink_disconnect('conn_wf177');

al ejecutar de estar forma, no me da ningun error, pero haciendole un
seguimiento, noto que no ejecuta la función. Si no pongo un valor de
retorno, que en este caso es INTO valor, me sale un error de que no puede
retornar ningun valor, pero al colocar esa variable, no ejecuta la funcion.

Mi pregunta es, alguien sabe si esta bien la forma en que estoy ejecutando
mi funcion utilizando dblink ??? Se debe hacer algo previo para realizar
ejecucion de funciones con dblink..???? les agradeceria mucho que me puedan
ayudar. gracias..

El 24 de julio de 2008 11:21, Lennin Caro<lennin(dot)caro(at)yahoo(dot)com>escribió:

> prueba con esto
>
> select sige_db.f_insert_tbl_expedientewf(1000,5000,2008, '1'::varchar,2,2,
> 2, 8, current_date,'2'::varchar, 51, 1, 1, 0, 0)
>
>
> --- On Wed, 7/23/08, Diego Ayala <netdiego81(at)gmail(dot)com> wrote:
>
> > From: Diego Ayala <netdiego81(at)gmail(dot)com>
> > Subject: [pgsql-es-ayuda] ayuda con ejecucion de funcion
> > To: "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> > Date: Wednesday, July 23, 2008, 2:40 PM
> > buenos dias listeros, tengo una consulta q quiero hacerles,
> > tengo una
> > funcion, q recibe varios parametros, con diferentes tipos
> > de datos, esta
> > funcion lo unico q debe hacer es insertar los datos que le
> > llegan de los
> > parametros dentro de una tabla, pero al ejecutar la
> > funcion, recibo un
> > mensaje de conversión de tipos.
> > esta es mi funcion al pasarle los parametros.
> >
> > select sige_db.f_insert_tbl_expedientewf(1000,5000,2008,
> > '1',2,2, 2, 8,
> > current_date,'2', 51, 1, 1, 0, 0)
> >
> > este es el error q obtengo al ejecutar..
> >
> > ERROR: no existe la función
> > sige_db.f_insert_tbl_expedientewf(integer,
> > integer, integer, unknown, integer, integer, integer,
> > integer, date,
> > unknown, integer, integer, integer, integer, integer)
> > LINE 1: select
> > sige_db.f_insert_tbl_expedientewf(1000,5000,2008,
> > '1'...
> > ^
> > HINT: Ninguna función coincide en el nombre y tipos de
> > argumentos. Puede
> > desear agregar conversión explícita de tipos.
> >
> > ********** Error **********
> >
> > ERROR: no existe la función
> > sige_db.f_insert_tbl_expedientewf(integer,
> > integer, integer, unknown, integer, integer, integer,
> > integer, date,
> > unknown, integer, integer, integer, integer, integer)
> > SQL state: 42883
> > Hint: Ninguna función coincide en el nombre y tipos de
> > argumentos. Puede
> > desear agregar conversión explícita de tipos.
> > Character: 8
> >
> >
> >
> > y esta es la definicion de mi funcion
> >
> > CREATE OR REPLACE FUNCTION
> > sige_db.f_insert_tbl_expedientewf(nro_expediente_
> > bigint, anio_expediente_ integer, desc_exped_ character
> > varying, entid_
> > smallint, desid_ smallint, medid_ smallint, modid_ integer,
> > mefchexp_
> > timestamp without time zone, mail_institucion_ character
> > varying,
> > nen_codigo_ smallint, ent_codigo_ smallint, uoc_codigo_
> > smallint,
> > suoc_codigo_ smallint, uep_codigo_ smallint)
> >
> > RETURNS void AS
> > $BODY$
> > BEGIN
> >
> > INSERT INTO
> > "sige_db"."tbl_expedientewf"
> > ("cod_expediente",
> > "nro_expediente", "anio_expediente",
> > "desc_exped", "entid",
> > "desid",
> > "medid", "modid", "mefchexp",
> > "mail_institucion", "nen_codigo",
> > "ent_codigo", "uoc_codigo",
> > "suoc_codigo", "uep_codigo")
> > VALUES
> > (nextval('db_sige.expediente_seq'),nro_expediente_,
> > anio_expediente_,
> > desc_exped_, entid_, desid_, medid_, modid_, mefchexp_,
> > mail_institucion_,
> > nen_codigo_, ent_codigo_, uoc_codigo_, suoc_codigo_,
> > uep_codigo_);
> > END;
> >
> > $BODY$
> > LANGUAGE 'plpgsql' VOLATILE
> >
> > utilizo la versión 8.3.3 de PostgreSQL sobre un linux RHES
> > 5
> >
> > gracias por su ayuda
> >
> > --
> > Diego Ayala
>
>
>
>
>

--
Diego Ayala

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-07-30 20:37:17 Re: Obtener el más cercano
Previous Message Jaime Casanova 2008-07-30 19:52:32 Re: Problemas base - Error 10061