Obtendo valor atual da SEQUENCE com last_value ou currval

Currval

Retorna o valor recentemente obtido por nextval para sequência na sessão atual. Um erro é reportado se nextval nunca foi chamado para esta sequência nesta sessão. Note que, currval está retornando o valor da sessão local, ele dá uma resposta previsível ou outras sessões não tenham executado nextval desde a sessão atual.

Exemplo:

SELECT currval('nome_da_sequencia');


last_values

Em particular, o campo last_value da sequência mostra o último valor alocado por qualquer processo servidor, é claro que este valor pode estar obsoleto na hora em que for exibido, se outros processos estiverem chamando a função nextval.

Exemplo:

SELECT last_value FROM nome_da_sequencia;

É possível realizar uma consulta para conhecer os parâmetros e o estado atual da sequência:

SELECT * FROM nome_da_sequencia;

Comentários