Inserting data from one database to another using stored functions

From: "Benjie Buluran" <benjie(dot)buluran(at)igentechnologies(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Inserting data from one database to another using stored functions
Date: 2011-01-07 01:56:24
Message-ID: 000001cbae0e$19bef030$4d3cd090$@buluran@igentechnologies.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi pgSQL peeps!

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.

Your help is highly appreciated!

Thanks and Best Regards,

Benjie

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard Broersma 2011-01-07 06:17:19 One-click Installers for 9.1 Alpha 3 (ETA)
Previous Message Kenneth Tilton 2011-01-06 23:12:57 Re: Noob Q collapsing multiple rows into one via case and max