Re: SQL QUERY

From: Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: Pedro Igor <pedroigor(at)aip(dot)com(dot)br>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: SQL QUERY
Date: 2002-12-03 14:47:22
Message-ID: Pine.LNX.4.44.0212031639490.7057-100000@matrix.gatewaynet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Tue, 3 Dec 2002, Pedro Igor wrote:

> But i want implement a trigger that auto-increments the id field. This
> options is personal, i don΄t like to depend from the database.
>

Then use table name as parameter to your function.
But trully its an error prone policy the one you try to follow,
what if a table has a primary key named "fobarid"??
Your function will not work correctly.

Or you could programatically read the system tables
and find out which column is the primary key for a given table.
But unfortunately that way you depend on the database
even worse than simply and nicely use sequences.

> Pedro Igor
>
> ----- Original Message -----
> From: "Achilleus Mantzios" <achill(at)matrix(dot)gatewaynet(dot)com>
> To: "Pedro Igor" <pedroigor(at)aip(dot)com(dot)br>
> Cc: <pgsql-sql(at)postgresql(dot)org>
> Sent: Tuesday, December 03, 2002 11:05 AM
> Subject: Re: [SQL] SQL QUERY
>
>
> > On Tue, 3 Dec 2002, Pedro Igor wrote:
> >
> > > I have the following function:
> > > CREATE FUNCTION public.auto_incremento() RETURNS trigger AS '
> > > begin
> > > new.id = (select (max(id) + 1) from teste);
> > > return new;
> > > end;' LANGUAGE 'plpgsql'
> > >
> > > I created a trigger that uses this function, but i want to the function
> be usefull for all tables and not only to tbale teste.
> > >
> > > Someone know how ???
> >
> > Take a look at sequences.
> > (In Addition, they are autimatically created when a column is of type
> > 'SERIAL').
> >
> > >
> > >
> > >
> > > Pedro Igor
> > >
> > >
> > >
> > >
> >
> > ==================================================================
> > Achilleus Mantzios
> > S/W Engineer
> > IT dept
> > Dynacom Tankers Mngmt
> > Nikis 4, Glyfada
> > Athens 16610
> > Greece
> > tel: +30-10-8981112
> > fax: +30-10-8981877
> > email: achill(at)matrix(dot)gatewaynet(dot)com
> > mantzios(at)softlab(dot)ece(dot)ntua(dot)gr
>
>

==================================================================
Achilleus Mantzios
S/W Engineer
IT dept
Dynacom Tankers Mngmt
Nikis 4, Glyfada
Athens 16610
Greece
tel: +30-10-8981112
fax: +30-10-8981877
email: achill(at)matrix(dot)gatewaynet(dot)com
mantzios(at)softlab(dot)ece(dot)ntua(dot)gr

Browse pgsql-sql by date

  From Date Subject
Next Message Alphasoft 2002-12-03 14:48:07 problem with view in 7.3
Previous Message Troy 2002-12-03 14:46:46 Re: [OT] Inventory systems (private)