You need to quote (single quotes) the name of the sequence... and you need
to use nextval('album_album_id_seq') before calling currval().
At least I think so.
On Fri, 22 Nov 2002, Dan Jewett wrote:
> Considering the function below, is it possible to get the value of
> the album_id from the first INSERT statement and use it in the 2nd
> INSERT statement as I have tried to do here? Or do has the sequence
> not update until the end of the LOOP?
> I have tried this and get: ERROR: Attribute 'album_album_id_seq' not found
> How would I accomplish this?
> CREATE FUNCTION catalog_batch() RETURNS text AS '
> myrec RECORD;
> FOR myrec IN SELECT * FROM catalog LOOP
> INSERT INTO album (columns,....) VALUES ('matching values',....);
> INSERT INTO track (columns,....) VALUES (
> currval(album_album_id_seq), 'other matching values',.... );
> <rest of code>
> END LOOP;
> RETURN 'Batch Complete';
> ' LANGUAGE 'plpgsql';
> Dan Jewett
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
In response to
pgsql-novice by date
|Next:||From: Dan Jewett||Date: 2002-11-22 19:27:42|
|Subject: Re: Need help with currval and nextvall...|
|Previous:||From: Dan Jewett||Date: 2002-11-22 18:49:22|
|Subject: Need help with currval and nextvall...|