Ver Mensaje Individual
  #2  
Antiguo 13-12-2011
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Reputación: 21
defcon1_es Va por buen camino
Hola.
Que yo sepa, Firebird no permite el paso de parámetros en sus trigger, puesto que responden a un evento y no se ejecutan explícitamente.

Por otra parte, los generadores normalmente se usan para dar valores únicos y correlativos
y la instrucción
Código SQL [-]
gen_id(GEN_ENTIDADES,1)
devuelve el valor actual del generador y lo incrementa en 1,
y lo que pretendes podría dar conflictos (coincidencia en los valores) si CLAVE esta definido con una Primary Key o está definido como UNIQUE.

EJP:
Valor inicial del generador = 1
Quiero incrementar en 12

Código SQL [-]
  new.clave = gen_id(GEN_ENTIDADES,1) + 12;
El generador tiene como valor 2 y NEW.Clave tendría como valor 13...
¿qué pasaría si ahora lo quiero incrementar en 9?

Código SQL [-]
  new.clave = gen_id(GEN_ENTIDADES,1) + 9;
Pues que el generador tiene como valor 3 y NEW.Clave tendría como valor 13 también...

¿Para qué necesitas que el campo CLAVE pegue esos saltos en la numeración?
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita