Charles Hauser <chauser@duke.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