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!
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 |