![]() |
Crear generador de campo.
Hola tengo creada una tabla con el IBExpert (personal) y en un campo , el cual tambien es Not Null y primary key, quiero añadirle un generador que incremente automaticamente el campo en 1, el valor del primer registro me lo pregunta, contesto 1., le asigno el generador al campo.
Ah el campo es integer. Voy a dar de alta un registro pero no me aplica el generador. ¿Donde se define el incremento deseado? ¿No son compatibles el generador con un primary key? Si en vez de un generador pruebo a asignar un trigger (Before insert) que haga lo mismo o un procedure recibo igualmente error, es obvio que tengo algun dato mal. Gracias por vuestra ayuda. |
el generador no se asigna a un campo, lo tienes que usar tu en la sentencia insert into o definir un trigger que incremente la secuencia y lo asigne a la PK (el problema de esto es que desde tu aplicación no se conocera la PK para identificar la nueva tupla.. por eso no te lo recomiendo)
|
Ya, lo que trato es de crear un campo con autoincremento automatico, entonces .... ¿Tengo que declarar un nuevo DOMAIN y como le indico que lo quiero autoincrementado?
¿Funcionaria esto? Esto de Firebird requiero tiempo .... :D Saludos. |
no existe ese concepto de otras bases de datos, al menos con la versión 1.5 que es la que uso..
salu2 |
Si es un campo de autoincremento lo puedes hacer así:
1ro creas un generador (ibExpert)
2do creas un trigger (before insert)
Y por último cada vez que lances el Insert, manda el campo de autoincremento como null (lo que disparará el trigger)
De cualquier manera busca en el foro "autoincremento" que hay bastante. |
Hola Sitrico.
Pues funciona, pero la verdad creia que existia un campo de este tipo, es un poco darle vueltas para conseguir algo que gestores de Bases de datos de menos "Categoria" te dan hecho. (Paradox, Access), en fin.... Sigo preguntando haber si consigo gente tan amable como tu que vaya contestando. :mad: Muchisimas gracias. |
Al principio pensaba igual que tú, pero creeme, una vez que le agarras la caida al firebird (y yo aun estoy en eso), te darás cuenta que este enfoque no es ningun problema ;) .
|
Resp
No comparen a dios con un brujo.
Lo del generador te mas libertades de la que podrías imaginarte. Se escapa del control transaccional. Que a mi parecer te evita muchisimos dolores de cabezas. Cosa que no hace un campo auto ¿Ho si lo hace?. Bueno como te dijeron en le mensaje anterior una vez lo uses veras las vertidus (Te lo digo yo que lo uso antes de que existiera firebird y lo comense a usar buscando evitar lo famosos bloques muertos de sistemas manejadores de archivos). |
La franja horaria es GMT +2. Ahora son las 04:35:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi