Re: returned value from SQL statement - Mailing list pgsql-general

From Alain Roger
Subject Re: returned value from SQL statement
Date
Msg-id 75645bbb0803270325o4cff3325t14ce0abccc304e40@mail.gmail.com
Whole thread Raw
In response to Re: returned value from SQL statement  (Craig Ringer <craig@postnewspapers.com.au>)
Responses Re: returned value from SQL statement  (Sam Mason <sam@samason.me.uk>)
Re: returned value from SQL statement  ("Albe Laurenz" <laurenz.albe@wien.gv.at>)
List pgsql-general
not really.. but it is true that it can be confusing...sorry :-(

the purpose here, it is to solve my problem with a transaction inside a function.
i need to know if there is a common return value for error in case of a SQL statement failed.
it seems that not, so i would like to know if the rollback inside an EXCEPTION block is the best practice.

here is an example :
CREATE OR REPLACE FUNCTION cust_portal.sp_u_003(usrname character varying, firstname character varying, email character varying, nl_reg boolean, nl_lang character varying)
  RETURNS integer AS
$BODY$

DECLARE

    existing_email INTEGER := 0;

BEGIN
    set search_path = cust_portal;

    SELECT count(*) INTO existing_email FROM users WHERE users.email = email;
    IF (existing_email != 0) THEN
        RETURN (-1);
    ELSE
--        BEGIN TRANSACTION;
            INSERT INTO cust_portal.users VALUES
            (
                nextval('users_usr_id_seq'),
                usrname,
                firstname,
                email,
                nlreg,
                nl_lang
            );

            DELETE FROM cust_portal.tmp_newsletterreg WHERE tmp_newsletterreg.email = email;
           
        COMMIT;
        RETURN(0);
       
        EXCEPTION
            ROLLBACK;
            RETURN(-2);

    END IF;
END;

moreover such code generates an error :
On Thu, Mar 27, 2008 at 10:55 AM, Craig Ringer <craig@postnewspapers.com.au> wrote:
Alain Roger wrote:
> sorry... under pl/pgsql as stored procedure

Then this question was already asked and answered less than a week ago
on this mailing list.

By you, with almost exactly the same subject line.

Forgive my confusion, but why are you asking the same question again?
What's changed since last time? What else do you need to know?

--
Craig Ringer



--
Alain
------------------------------------
Windows XP SP2
PostgreSQL 8.2.4 / MS SQL server 2005
Apache 2.2.4
PHP 5.2.4
C# 2005-2008

pgsql-general by date:

Previous
From: Craig Ringer
Date:
Subject: Re: returned value from SQL statement
Next
From: Volkan YAZICI
Date:
Subject: Re: Performance of update