Ještě zbývá konzervativní metoda nejdřív zavolat nextval a uložit si výsledek do proměnné. V insertu pak explicitně použít na místě ID tuto proměnnou a použít ji i pro jakoukoliv další potřebnou operaci.
Jinak zde je příslušná sekce z manuálu k funkci currval:
Return the value most recently obtained by nextval for this sequence in the current session. (An error is reported if nextval has never been called for this sequence in this session.) Notice that because this is returning a session-local value, it gives a predictable answer even if other sessions are executing nextval meanwhile.
Nicméně právě proto, že se snažím PostgreSQL propagovat mezi stávajícími uživateli MySQL, si myslím, že by bylo hezké mít funkci, která by volání currval zabalila tak, aby se podobalo volání vracejícímu v MySQL naposledy insertované ID. Asi to není problém napsat v plpgsql s využitím informačního schématu.
Názor k článku Co nového v PostgreSQL 8.0?
Dalibor Šrámek (neregistrovaný)
19. 1. 2005 13:25
Nový
Re: PostgreSQL 8.0
celé vlákno
Tiskni
