Re: FAQ error

Поиск
Список
Период
Сортировка
От Brent Verner
Тема Re: FAQ error
Дата
Msg-id 20011010202046.A80802@rcfile.org
обсуждение исходный текст
Ответ на FAQ error  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: FAQ error  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: FAQ error
Следующее
От: Tatsuo Ishii
Дата:
Сообщение: Re: Mule internal code ?