Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2003
Rabata Rabata is offline
Miembro
 
Registrado: jul 2003
Posts: 167
Poder: 21
Rabata Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 17-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
creo que accediendo a las tablas de sistema puedes lograrlo. En concreto creo que es RDB$GENERATORS
Responder Con Cita
  #3  
Antiguo 17-09-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
Posteado originalmente por cadetill
creo que accediendo a las tablas de sistema puedes lograrlo.
Sí, pero ...

Cita:
Posteado originalmente por cadetill
En concreto creo que es RDB$GENERATORS
No, amigo Cadetill Si el valor de los generadores estuviese dentro de una tabla (aunque sea del sistema) estarían bajo el control transaccional y no es así.

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
Por cierto, aunque en el hilo no se cita, supongo que estamos hablando de InterBase o Firebird.

Saludos.
Responder Con Cita
  #4  
Antiguo 17-09-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 17-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
pues gracias kinobi por la aclaración, siempre es bueno aprender de un maestro
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:51:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi