Kind of error-handler in a pgsql function - Mailing list pgsql-sql

From DI Hasenöhrl
Subject Kind of error-handler in a pgsql function
Date
Msg-id 00c401c104c0$b9a03200$01011eac@irina
Whole thread Raw
Responses Re: Kind of error-handler in a pgsql function  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Kind of error-handler in a pgsql function  (Alex Pilosov <alex@pilosoft.com>)
List pgsql-sql
Hi,
 
When I write in psql:
testdb=# update table1 set tableattribute='any' where table_nr=1;
    if a tuple exists, I get this message
testdb=# update 1
    if no tuple with table_nr=1 exists, I get this message
testdb=# update 0
   
 
Is there a possibility to make a difference in a pgsql function like this:
create function updTable(text,integer) returns int AS
'DECLARE
   msg ALIAS FOR $1;
   nr    ALIAS FOR $2;
 BEGIN
     update table1 set tableattribute=msg where table_nr=nr;
     --pseudocode
       if update = 0 then
         return 0;
       else
         return 1;
       end if;
   END;
'language 'plpgsql';
 
or for a function, which inserts data:
create function insTable(text,integer) returns int AS
'DECLARE
   msg ALIAS FOR $1;
   nr    ALIAS FOR $2;
 BEGIN
     insert into table1 values (nr,msg);
     --pseudocode
       if error= cannot insert duplicate key.....then
         return 0;
       else
         return 1;
       end if;
   END;
'language 'plpgsql';
 
I want to know the result of an insert or update, because I call these functions from an Access form and the next steps of the program depend on these results.
 
I hope, someone can help me, because I didn't find anything in the docu or mailing list.
Thanks in advance
Irina
 

pgsql-sql by date:

Previous
From: Martín Marqués
Date:
Subject: Re: count(*)
Next
From: Tom Lane
Date:
Subject: Re: Kind of error-handler in a pgsql function