pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Charles Hauser <chauser@duke.edu>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-sql@postgresql.org
Subject: Re: problem fetching currval of sequence
Date: Tue, 6 Aug 2002 12:43:32 -0400
Message-ID: <a05111b02b975aa9d9743@[152.3.11.193]> (raw)
In-Reply-To: <20533.1028650590@sss.pgh.pa.us>
References: <a05111b00b97594e67c38@[152.3.11.193]>
	<20533.1028650590@sss.pgh.pa.us>

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@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


-- 
Regards,

	Chuck

view thread (12+ messages)  latest in thread

Message-ID: <a05111b02b975aa9d9743@[152.3.11.193]>
Permalink:  ../a05111b02b975aa9d9743@%5B152.3.11.193%5D/
Also on:    postgresql.org/message-id/a05111b02b975aa9d9743@[152.3.11.193]

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: chauser@duke.edu, tgl@sss.pgh.pa.us
  Subject: Re: problem fetching currval of sequence
  In-Reply-To: <a05111b02b975aa9d9743@[152.3.11.193]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox