Обсуждение: System Messages

Поиск
Список
Период
Сортировка

System Messages

От
"Samuel J. Sutjiono"
Дата:
I have a function (stored procedures) that updates or inserts a customer record (see below).
 
IF found then
   Update Customer 
   Set custname = icustname
   retmsg := ''record already exists - updated'';
ELSE   
   Insert into Customer (custname) VALUES (icustname);
   retmsg := ''successful'';
END IF;
 
Can anybody tell me how I can be sure that the record is updated or inserted into the database ? Is there any system message in PostgreSQL that I can query ?
 
Thanks for your help. 

Re: System Messages

От
"Gregory Wood"
Дата:
If there is an error, it should throw an exception that will stop the
function. On the other hand, if you set a where clause on that UPDATE, then
it might not actually modify any existing rows. In that case you can check
the ROW_COUNT from GET DIAGNOSTICS to see if it modified any records (and
however many). For more information on GET DIAGNOSTICS, check out:

http://www7.us.postgresql.org/users-lounge/docs/7.2/postgres/plpgsql-stateme
nts.html#PLPGSQL-STATEMENTS-DIAGNOSTICS

Greg

----- Original Message -----
From: Samuel J. Sutjiono
To: pgsql-sql@postgresql.org ; pgsql-general@postgresql.org
Sent: Wednesday, February 27, 2002 10:39 AM
Subject: [GENERAL] System Messages


I have a function (stored procedures) that updates or inserts a customer
record (see below).

IF found then
   Update Customer
   Set custname = icustname
   retmsg := ''record already exists - updated'';
ELSE
   Insert into Customer (custname) VALUES (icustname);
   retmsg := ''successful'';
END IF;

Can anybody tell me how I can be sure that the record is updated or inserted
into the database ? Is there any system message in PostgreSQL that I can
query ?

Thanks for your help.