Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 4FCDF475E77 for ; Tue, 3 Dec 2002 09:38:19 -0500 (EST) Received: from matrix.gatewaynet.com (unknown [217.19.69.50]) by postgresql.org (Postfix) with ESMTP id A4D4B475D99 for ; Tue, 3 Dec 2002 09:38:17 -0500 (EST) Received: from localhost (achill@localhost) by matrix.gatewaynet.com (8.11.6/8.11.6) with ESMTP id gB3ElMb07422; Tue, 3 Dec 2002 16:47:22 +0200 Date: Tue, 3 Dec 2002 16:47:22 +0200 (EET) From: Achilleus Mantzios To: Pedro Igor Cc: pgsql-sql@postgresql.org Subject: Re: SQL QUERY In-Reply-To: <000b01c29ad5$3fdc9f10$0b00010a@aip.com.br> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-7 Content-Transfer-Encoding: 8BIT X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200212/28 X-Sequence-Number: 10616 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" > To: "Pedro Igor" > Cc: > 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@matrix.gatewaynet.com > > mantzios@softlab.ece.ntua.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@matrix.gatewaynet.com mantzios@softlab.ece.ntua.gr