Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id B51874762DC for ; Tue, 6 Aug 2002 12:16:53 -0400 (EDT) Received: from sss.pgh.pa.us (unknown [192.204.191.242]) by postgresql.org (Postfix) with ESMTP id DA1EF4761E0 for ; Tue, 6 Aug 2002 12:16:48 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.12.5/8.12.5) with ESMTP id g76GGVVk020534; Tue, 6 Aug 2002 12:16:31 -0400 (EDT) To: Charles Hauser Cc: pgsql-sql@postgresql.org Subject: Re: problem fetching currval of sequence In-reply-to: References: Comments: In-reply-to Charles Hauser message dated "Tue, 06 Aug 2002 11:14:49 -0400" Date: Tue, 06 Aug 2002 12:16:30 -0400 Message-ID: <20533.1028650590@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200208/97 X-Sequence-Number: 8943 Charles Hauser 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