Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-05-2005
Alex2000 Alex2000 is offline
Miembro
 
Registrado: oct 2003
Posts: 19
Poder: 0
Alex2000 Va por buen camino
Autoincremento

holap,
he tratado de usar incremente en firebird

he usado el asistente q viene en ems

y nada..

alguna ayuda. o link para entenderlo??
__________________
*/La amistad se pierde, cuando la Envidia crece */
Responder Con Cita
  #2  
Antiguo 10-05-2005
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Poder: 21
vic_ia Va por buen camino
hola...

lo primero que te podria sugerir es que leyeras la guia de estilo, asi comprenderas que mejor planteadas sean tus dudas mayor probabilidad de que alguien se tome el tiempo para ayudarte....

por otro lado, si a lo que te refieres es usar campos Autoincremento :

1. Creas el campo Autoincremento con el nombre que gustes en la tabla en la que lo necesites, como por ejemplo "msgID"

2. Creas un GENERATOR (generador)
(nota al margen - si mal no entiendo es como una especie de variable que almacenara el ultimo valor del generador) claro tu solo tienes que definir el nombre y en que valor necesitas que empiece; por ejemplo: gen_mensajes_id

3. te creas un trigger, que sea lanzado cuando tu indiques (before insert, after insert, before update, etc.) como muchos usamos los campos autoincrementos como claves principales, yo por ejemplo creo un trigger para before insert y el en indicas la accion que se debe seguir con el generador ... algo asi como :

Código:
CREATE TRIGGER MENSAJES_BI0 FOR MENSAJES
ACTIVE BEFORE INSERT POSITION 0
AS
begin
  if (new.msgID is null) then
    new.msgID = gen_id(gen_mensajes_id, 1);
end
en este ejemplo cada vez que se trata de hacer un insert en la tabla de mensajes se dispara el trigger antes de la insercion y checa el valor del msgID si es nulo, la "funcion" de firebird, "gen_id", lo que hace es incrementar tu GENERATOR gen_mensajes_id en la cantidad que le indicas, en este caso 1 y lo asigna correctamente al nuevo registro...

espero te sirva de guia...

saludos

PD. tambien me habia bajado el EMS pero me resulto mas sencillo de utilizar el IB Expert Personal Edition
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 20:21:28.


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