Re: Retrieving the new "nextval" for primary keys....

Поиск
Список
Период
Сортировка
От Kevin Brannen
Тема Re: Retrieving the new "nextval" for primary keys....
Дата
Msg-id 3D6CF5B7.90206@nurseamerica.net
обсуждение исходный текст
Ответ на Retrieving the new "nextval" for primary keys....  ("Greg Patnude" <GPatnude@adelphia.net>)
Ответы Re: Retrieving the new "nextval" for primary keys....  (friedrich nietzsche <nietzsche_psql@yahoo.it>)
Список pgsql-sql
Greg Patnude wrote:
> I am using postgreSQL with Perl::CGI and Perl::DBI::Pg... I would like to be
> able to insert a row from my Perl script [$SQL->exec();] and have postgreSQL
> return the id of the newly inserted record (new.id) directly to the Perl
> script for further processing... Anyone with a solution / idea ???
>
> Nearly EVERY table I create in postgreSQL (7.2) has the following minimum
> structure:
>
> create table "tblName" (
>
>     id int4 primary key nextval ("tblName_id_seq"),
>
>     ..field...
> )

You can either do it in 2 statements, something like:

$dbh->do("insert into tblName ...");
my ($id) = $dbh->selectrow_array("select currval('tblName_id_seq')");

Or you could create a function which takes the insert statement, and
ends with doing a select on the currval (as above) and returning that.
As I do the 2 statement approach above, I haven't done a function, but
it doesn't look like it would be that hard to do.

HTH,
Kevin


В списке pgsql-sql по дате отправления:

Предыдущее
От: tp
Дата:
Сообщение: UPDATE & LIMIT together?
Следующее
От: friedrich nietzsche
Дата:
Сообщение: Re: Retrieving the new nextval...