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.
.
Comentarios recientes