Making a function call from within a transaction block.

From: Joshua Moore-Oliva <josh(at)chatgris(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Making a function call from within a transaction block.
Date: 2003-03-12 23:21:47
Message-ID: 200303121821.47496.josh@chatgris.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I am attempting to make this test work.. I have three tables

CREATE TABLE test1 (
my_id int
);

CREATE TABLE test2 (
my_id int
);

CREATE TABLE test3 (
my_id int
);

And the function

CREATE FUNCTION addTest2Value( int ) RETURNS integer AS '
DECLARE
value ALIAS FOR $1;
BEGIN
INSERT INTO test2 VALUES( value );

RETURN 1;
END;
' LANGUAGE 'plpgsql';

What I am attempting to do is this

BEGIN;

INSERT INTO test1 VALUES ( 1 );

addTest2Value( 2 );

INSERT INTO test3 VALUES ( 3 );

COMMIT;

However I get a syntax error at the addTest2Value.

If I use SELECT addTest2Value( 2 ); from what I've read in the docs I believe
that that will cause this routine to stop at the select and return to the
libpq-fe C interface...

I've also tried PERFORM addTest2Value but that is apparently only available
within a plpgsql function...

Any hints?

Thanks, Josh.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Robert Norris 2003-03-12 23:21:49 Re: Performance Problem
Previous Message Bruce Momjian 2003-03-12 22:27:37 Re: online postgresql documentation