Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Gracias por las respuestas.

correcto, me queda totalmente claro. El id como clave autoincremental y que el usuario no tiene por que ver y que es lo mismo que estaba haciendo en sqlite pero este lo daba en automatico ahora uso generador y trigger que al final, esl lo mismo para bases de datos autoincrementales.

el otro que comentas sobre consecutivos, efectivamente, ese lo controlo yo y solo se aumenta cuando haces commit.

gracias de nuevo

Evidentemente, si es clave autoincremental y va a sobrepasar del los 32000 registros ya toca cambiar el integer
Responder Con Cita
  #2  
Antiguo 18-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por anubis Ver Mensaje
Evidentemente, si es clave autoincremental y va a sobrepasar del los 32000 registros ya toca cambiar el integer
El integer de firebird es de 32 bits: *2^31 Signed long (longword)
Por lo tanto sería 20000000000000000000000000000000
Y creo recordar que el generador guarda 64 bits, así que no tienes de qué preocuparte
Responder Con Cita
  #3  
Antiguo 19-10-2012
cointec cointec is offline
Miembro
 
Registrado: jul 2004
Ubicación: Alicante-España
Posts: 76
Poder: 22
cointec Va por buen camino
Wink

Cita:
Empezado por Casimiro Notevi Ver Mensaje
El integer de firebird es de 32 bits: *2^31 Signed long (longword)
Por lo tanto sería 20000000000000000000000000000000
Creo que 2^31 no es un 2 con 31 ceros es 2,147,483,648, que es sensiblemente inferior.
__________________
Un saludo, Jesus García
Responder Con Cita
  #4  
Antiguo 19-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Por supuesto, me pudo la emoción de poner ceros sin parar

Sin embargo, el generador es de 64 bits, por lo tanto, si no me equivoco esta vez sería: 9,223,372,036,854,775,807

En efecto, copio y pego de Firebird Generator Guide
Cita:
Generators store and return 64-bit values in all versions of Firebird. This gives us a value range of:
-2^63 .. 2^63-1 or -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807
Responder Con Cita
  #5  
Antiguo 12-10-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Perdonad que retome este post,

El tema del autoincrement esta resuelto, la pregunta es, si aplico un rollback como recupero el incremento que se ha generado para que no se pierda el consecutivo.

gracias y saludos amigos
Responder Con Cita
  #6  
Antiguo 12-10-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
El generador autoincrementable es "independiente" de todo, cada vez que lo llamas aumenta en 1 (predeterminado), está fuera de las transacciones, no vuelve atrás.
Cualquier otro cambio que quieras, tendrás que hacerlo por tus propios medios, modificándolo manualmente.

El generador autoincrementable se usa para obtener SIEMPRE un número nuevo y diferente a los utilizados antes, que nunca pueda repetirse, no controla si tú luego borras alguno o haces cualquier otra cosa. No sirve y no se usa para llevar, por ejemplo, un contador de números de facturas si luego vas a borrar una factura, ese número se pierde. Salvo que tú quieras controlarlo manualmente, pero entonces ya no es la función para lo que se creó el generador.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
AutoIncrement Firebird Ubed Conexión con bases de datos 7 21-05-2014 17:21:41
Duda de Autoincrement firebird JAI_ME Conexión con bases de datos 12 17-12-2010 01:15:05
AutoIncrement de Firebird alucardo Firebird e Interbase 2 15-06-2006 19:03:20
RollBack con más de una transacción kikodelphi MS SQL Server 2 12-10-2005 20:24:25
Ejecutar un rollback micayael PHP 4 22-09-2005 15:36:54


La franja horaria es GMT +2. Ahora son las 18:08:47.


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