Ver Mensaje Individual
  #2  
Antiguo 10-05-2005
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Reputación: 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