Descripción: Incrementa un generador (también llamado secuencia) y devuelve el nuevo valor.

Tipo de resultado: Bigint

Sintaxis:

GEN_ID(nombre del generador, <incremento>)

<incremento> = una expresión entera que puede ser positiva, negativa o cero

Ejemplo:

   NEW.PER_IDENTI = GEN_ID(Generador_Personas, 1)

En este ejemplo el valor de la variable Generador_Personas aumentará en 1 y ese nuevo valor será asignado a la variable NEW.PER_IDENTI

Sería (casi) equivalente a escribir:


Generador_Personas = Generador_Personas + 1

NEW.PER_IDENTI = Generador_Personas

Sin embargo, es preferible y recomendable utilizar la función GEN_ID() para incrementar el valor de Generador_Personas ¿por qué eso? porque la variable Generador_Personas es global a toda la Base de Datos y  en una aplicación multiusuario donde hay cientos o miles de usuarios utilizándola  no se puede garantizar que el valor de Generador_Personas que recibe la variable NEW.PER_IDENTI sea el mismo que se incrementó en el paso anterior. En cambio con la función GEN_ID() el Firebird te garantiza que siempre obtendrás el valor correcto.

 

 

 

.

Anuncios