Re: Inserting data from one database to another using stored functions
От | Guillaume Lelarge |
---|---|
Тема | Re: Inserting data from one database to another using stored functions |
Дата | |
Msg-id | 4D25A130.5020601@lelarge.info обсуждение исходный текст |
Ответ на | Inserting data from one database to another using stored functions ("Benjie Buluran" <benjie.buluran@igentechnologies.com>) |
Список | pgadmin-support |
Hi, Le 06/01/2011 07:01, Benjie Buluran a écrit : > [...] > I'm stumped on this question for over 3 days now. > > I need to run a stored function in Database A ("sf DBa") which calls a > stored function in Database B ("sf DBb"). > > Here's "sf DBa": > > CREATE OR REPLACE FUNCTION sp_update_serialnumber(pserialnumber character > varying, pActivityId integer) > RETURNS void AS > $BODY$ > BEGIN > UPDATE TABLESSERIALNUM SET SerialNumber = pSerialNumber > WHERE ActivityID = pActivityId ; > BEGIN > PERFORM dblink_connect('dbname=testdb > port=5432 user=postgres password=123456'); > PERFORM dblink_exec('SELECT > sp_insert_detailtable('|| pActivityId ||', '|| pserialnumber ||')'); > PERFORM dblink_disconnect(); > END; > END; > $BODY$ > LANGUAGE plpgsql VOLATILE > COST 100; > > Here's "sf DBb": > > CREATE OR REPLACE FUNCTION sp_insert_detailtable(pactivityid integer, > pserialnumber character varying) > RETURNS void AS > $BODY$ > BEGIN > INSERT INTO DETAILTABLE(LogID, LogDetailSeq) > VALUES(pactivityid, pserialnumber); > END; > $BODY$ > LANGUAGE plpgsql VOLATILE > COST 100; > > I'm using the DEBUG function in pgAdmin, and I keep getting the "statement > returning results not allowed" error in PERFORM dblink_exec('SELECT > sp_insert_detailtable('|| pActivityId ||', '|| pserialnumber ||')'); in this > line. > You should better do an EXECUTE rather than a PERFORM. Anyway, this is not specific to pgAdmin. You should better ask on pgsql-general. -- Guillaumehttp://www.postgresql.frhttp://dalibo.com
В списке pgadmin-support по дате отправления: