From: | Charles Hauser <chauser(at)duke(dot)edu> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: problem fetching currval of sequence |
Date: | 2002-08-06 16:43:32 |
Message-ID: | a05111b02b975aa9d9743@[152.3.11.193] |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Tom,
Quite right, I did mean to do an INSERT. Changing the script to do
so though I still get the error:
ERROR: gb_gb_id_seq.currval is not yet defined in this session.
foreach $id(sort keys %ACCN) {
$conn->exec(
"INSERT INTO gb (clone_id,accn,gi)
VALUES ( '$ACCN{$id}{clone_id}','$ACCN{$id}{gb}','$ACCN{$id}{gi}')";
);
$result = $conn->exec("SELECT currval('gb_gb_id_seq');");
die $conn->errorMessage unless PGRES_TUPLES_OK eq
$result->resultStatus;
$gb_id = $result->fetchrow;
$ACCN{$id}{gb_id} = $gb_id;
}
>Charles Hauser <chauser(at)duke(dot)edu> writes:
>> foreach $id(sort keys %ACCN) {
>> $conn->exec(
>> "UPDATE gb SET accn_no = '$ACCN{$id}{gb}',gi_no =
>> '$ACCN{$id}{gi}' WHERE clone_id = '$ACCN{$id}{clone_id}'"
>> );
>
>> $result = $conn->exec("SELECT currval('gb_gb_id_seq');");
>
>This isn't inserting any new row, so nextval() isn't called, so there's
>nothing for currval() to work on. Are you sure you did not mean to do
>an INSERT?
>
>If you did want an UPDATE, seems like you could do
>
> SELECT gb_id FROM gb WHERE clone_id = '$ACCN{$id}{clone_id}'
>
> regards, tom lane
--
Regards,
Chuck
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-08-06 16:48:32 | Re: problem fetching currval of sequence |
Previous Message | Tom Lane | 2002-08-06 16:25:44 | Re: problem fetching currval of sequence |