Solved! Re: Problems with GET DIAGNOSTICS SELECT PROCESSED INTO result;

From: "Dr(dot) Evil" <drevil(at)sidereal(dot)kz>
To: pgsql-general(at)postgresql(dot)org
Subject: Solved! Re: Problems with GET DIAGNOSTICS SELECT PROCESSED INTO result;
Date: 2001-09-06 21:10:36
Message-ID: 20010906211036.23088.qmail@sidereal.kz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


I got the syntax for that by searching around on mailing list
archives. I should have searched the PG documentation, because this
definitely works:

DROP TABLE junk;
CREATE TABLE junk (something INT4);

DROP FUNCTION testfunction(INT4);
CREATE FUNCTION testfunction(INT4) RETURNS INT4 AS '
DECLARE
result INT4;
BEGIN
INSERT INTO junk (something) VALUES ($1);
GET DIAGNOSTICS result = ROW_COUNT;
RETURN result;
END;
' LANGUAGE 'plpgsql';

So I guess the syntax has changed a little bit between beta and
released versions.

This is a very useful (essential) feature, because let's say that you
have a table with some constraints or integrity checks, and you try to
insert something which for whatever reason may violate those
constraints. The script needs to have some way of knowing that the
insert failed. So this is a great feature to have.

Thanks Postgres!

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Daniel Åkerud 2001-09-06 21:14:25 Re: SERIAL, too low a value
Previous Message Bruce Momjian 2001-09-06 20:51:31 Re: [ANNOUNCE] OSDN Announces Open Source Database Summit, September