How to read generator’s value in SP

Many people use 1-row table (rdb$database) to retrieve generator’s value in SP

SELECT GEN_ID(g,1) FROM rdb$database INTO :x;

While using rdb$database table can be useful if client program needs to read generator (because you can’t “execute” standalone GEN_ID() expression from client), it is absolutely unnecessary in stored procedure. Expressions can be assigned to SP variables/parameters directly by assignment statement. E.g. procedure to retrieve next value from generator can look like:

CREATE PROCEDURE ReadGen RETURNS (ret INTEGER) AS
BEGIN
ret = GEN_ID(MyGen, 1);
END;

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: