Re: FAQ error

From: Brent Verner <brent(at)rcfile(dot)org>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FAQ error
Date: 2001-10-11 00:20:46
Message-ID: 20011010202046.A80802@rcfile.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10 Oct 2001 at 17:12 (-0400), Bruce Momjian wrote:
|
| Our FAQ, item 4.16.2 has:
|
| $newSerialID = nextval('person_id_seq');
| INSERT INTO person (id, name) VALUES ($newSerialID, 'Blaise Pascal');
|
| Is this correct Perl? I don't see a nextval() function in Perl. Can
| you call SQL server-side functions natively from Perl?

no. The proper perl code would be more like...

use DBI;
my ($lastid,$nextid,$sql,$rv);
my $dbh = DBI->connect("perldoc DBD::Pg");

# to use the nextval
$sql = "SELECT nextval('person_id_seq')";
$nextid = ($dbh->selectrow_array($sql))[0];
$sql = "INSERT INTO person (id, name) VALUES ($nextid, 'Blaise Pascal');
$rv = $dbh->do($sql);

# or to get the currval
$sql = "INSERT INTO person (name) VALUES ('Blaise Pascal');
$rv = $dbh->do($sql);
$sql = "SELECT currval('person_id_seq')";
$lastid = ($dbh->selectrow_array($sql))[0];

| --
| Bruce Momjian | http://candle.pha.pa.us
| pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
| + If your life is a hard drive, | 830 Blythe Avenue
| + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
|
| ---------------------------(end of broadcast)---------------------------
| TIP 6: Have you searched our list archives?
|
| http://archives.postgresql.org

--
"Develop your talent, man, and leave the world something. Records are
really gifts from people. To think that an artist would love you enough
to share his music with anyone is a beautiful thing." -- Duane Allman

In response to

  • FAQ error at 2001-10-10 21:12:06 from Bruce Momjian

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2001-10-11 01:03:43 Re: Mule internal code ?
Previous Message Lamar Owen 2001-10-10 21:31:53 Re: Temprary issue gripes(was:Re: cvs problem)