Re: Updating an emty table? - Mailing list pgsql-general

From Hubert Lubaczewski
Subject Re: Updating an emty table?
Date
Msg-id 20030625104945.3b38bc90.hubert.lubaczewski@eo.pl
Whole thread Raw
In response to Updating an emty table?  ("Bjorn T Johansen" <btj@havleik.no>)
List pgsql-general
On Wed, 25 Jun 2003 10:40:16 +0200 (CEST)
"Bjorn T Johansen" <btj@havleik.no> wrote:

> have never written any stored proc for PostgreSQL yet, I need some
> pointers on how to implement this...

let's imagine:

create table some_test (codename text, counter int4);

# create or replace function addTest (text) returns int4 as '
depesz'# declare
depesz'# in_codename alias for $1;
depesz'# reply  int4;
depesz'# begin
depesz'# select counter into reply from some_test where codename = in_codename;
depesz'# if found then
depesz'# update some_test set counter = counter + 1 where codename = in_codename;
depesz'# return reply + 1;
depesz'# end if;
depesz'# insert into some_test (codename, counter) values (in_codename, 1);
depesz'# return 1;
depesz'# end;
depesz'# ' language 'plpgsql';
CREATE FUNCTION
# select addtest('depesz');
 addtest
---------
       1
(1 row)

# select addtest('depesz');
 addtest
---------
       2
(1 row)

# select addtest('depesz');
 addtest
---------
       3
(1 row)

# select addtest('depeszx');
 addtest
---------
       1
(1 row)

hope this helps.

depesz

pgsql-general by date:

Previous
From: Jean-Christophe ARNU (JX)
Date:
Subject: pg_statistic_relid_att_index
Next
From: Sven Köhler
Date:
Subject: [BUG?] table inhiritance violates primary key