Re: FAQ error - Mailing list pgsql-hackers

From Brent Verner
Subject Re: FAQ error
Date
Msg-id 20011010202046.A80802@rcfile.org
Whole thread Raw
In response to FAQ error  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: FAQ error
List 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@candle.pha.pa.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


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: FAQ error
Next
From: Tatsuo Ishii
Date:
Subject: Re: Mule internal code ?