Capturing return value of a function

From: "Jasbinder Singh Bali" <jsbali(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Capturing return value of a function
Date: 2007-07-16 20:55:18
Message-ID: a47902760707161355t30863b29xcc92e3b384f9b698@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I have a function like this

CREATE OR REPLACE FUNCTION sp_insert(text, text, text, text)
RETURNS text AS
$BODY$
BEGIN
INSERT INTO tbl(a,b,c,d)
VALUES ($1,$2, $3, $4);

RETURN 'success';
END;

$BODY$
LANGUAGE 'plpgsql' VOLATILE;

I was wondering what would the function return if insert fails.
I want it to return 'success' upon a successful insert and 'failure' if
insert fails.

Would the following implementation work for that?

CREATE OR REPLACE FUNCTION sp_insert(text, text, text, text)
RETURNS text AS
$BODY$
BEGIN
BEGIN
INSERT INTO tbl(a,b,c,d)
VALUES ($1,$2, $3, $4);

RETURN 'success';
END;

RETURN 'failure';
END;

$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gregory Stark 2007-07-16 21:06:43 Re: deferred check constraints
Previous Message Erik Jones 2007-07-16 20:42:04 Re: deferred check constraints