PostgreSQL a import ze souboru

Honza Pazdziora adelton na informatics.muni.cz
Neděle Červenec 29 12:07:03 CEST 2001


On Sun, Jul 29, 2001 at 12:36:23AM +0200, Milan Roubal wrote:

> insert into ostatni (datum) values ('996000000');
> 
> a pak zkusim tento dotaz
> select currval('ostatni_seq');
> 
> pak dostavam tuto hlasku
> ERROR:  ostatni_seq.currval is not yet defined in this session
> 
> zatimco kdyz ten insert neprovedu z toho souboru, ale primo z psql console,
> tak uz je vse v poradku.
> Nevite kde delam chybu?

Mozna to nepopisu uplne presne ale: jak ta hlaska rika, nemuzete se
ptat na currval, dokud jste neudelal nextval. A to tak, ze v jedne
session. Coz pokud tomu dobre rozumim tak nebyl tento pripad --
v jedne session jste provedl ten import a pak ve druhe se zeptal na
currval.

Konkretni backend si totiz muze tech hodnot alokovat vice, a tach
backendu tam muze byt hodne, cili pokud session neprovedla nextval
(coz je konkretni hodnota), neni jasne, co by vlastne melo byt
vraceno.

Oracle napriklad rika

	Note that before you use CURRVAL for a sequence in your
	session, you must first initialize the sequence with NEXTVAL.

cili to je standardni vec, PostgreSQL to formuluje

	The function currval('seqname') may be used to determine the
	number returned by the last call to nextval('seqname') for
	the specified sequence in the current session.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, DBD::XBase.
------------------------------------------------------------------------


Další informace o konferenci Databases