Thursday, May 22, 2008

Re: [NOVICE] get id of insert in plpgsql function

I think I managed to get it working, but the error reporting is not so good,

Here is the function (I removed some stuff to make it shorter)

CREATE OR REPLACE FUNCTION addB(userid_ integer) RETURNS INTEGER AS $$
DECLARE
bibid INTEGER;
BEGIN
BEGIN
INSERT INTO mytable (userid,y) VALUES (userid_,'f') RETURNING
currval('mytable_pkey') into bibid;
RETURN bibid;
EXCEPTION WHEN OTHERS THEN /*Catch all*/
RETURN 0;
END;
END;
$$ LANGUAGE plpgsql;

Now, I had forgot to add the column 'y' to mytable, and I got the error message

ERROR: syntax error at or near "Resource" at character 1
STATEMENT: Resource id #23

in the pg_log/logfile
Is there clever setting to get a better response?

--
Sent via pgsql-novice mailing list (pgsql-novice@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-novice

No comments: