FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ver un generador
Me gustaría saber el valor de un generator (Gen_Id(Gen_rapel,1),
Pero sin que haga falta hacer un trigger o meterlo dentro del dataset ( me refiero que no haga falta almacenar para saber el valor), si hay alguna consulta en Interbase que me devuelava el valor del genarador..... Gracias a todos |
#2
|
|||
|
|||
creo que accediendo a las tablas de sistema puedes lograrlo. En concreto creo que es RDB$GENERATORS
|
#3
|
||||
|
||||
Hola,
Cita:
Cita:
Para consultar el valor de un generador desde el cliente hay que echar mano de la función incorporada GEN_ID y la tabla del sistema RDB$DATABASE ... Código:
select gen_id(MiGenerador, 0) from rdb$database Saludos. |
#4
|
||||
|
||||
Hola de nuevo,
un par de comentarios para descargar mi conciencia del complejo de Torquemada a la búsqueda de herejías inexistentes ... También se puede utilizar la tabla RDB$GENERATORS en la consulta anterior. En realidad se puede utilizar cualquier tabla de la base de datos (de usuario y del sistema), ya que lo verdaderamente importante es la llamada a la función incorporada GEN_ID. El uso de una tabla es (supongo) debido a la necesidad de completar una sentencia SELECT sintácticamente correcta para que no proteste el parser SQL del motor. Por convenio (ampliamente aceptado) suele utilizarse para este tipo de consultas la tabla RDB$DATABASE. De todas formas, sí es cierto que la tabla RDB$GENERATORS no almacena el valor de los generadores, por los motivos que expuse antes, y el valor de éstos se almacena en unas páginas especiales (páginas de generadores) en la base de datos. Saludos. |
#5
|
|||
|
|||
pues gracias kinobi por la aclaración, siempre es bueno aprender de un maestro
|
|
|
|