Ver Mensaje Individual
  #37  
Antiguo 22-07-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 27
Delphius Va camino a la fama
Cita:
Por ahora, tengo otra pregunta.
En access, existe un atributo que se le puede agregar al campo Clave Principal, que hace que los valores se generen automáticamente de forma incremental. Se llama AUTONUMERICO.

¿Se puede hacer lo mismo con FireBird?
Si, se puede conseguir este efecto empleando los generadores y tiggers.

A modo de ejemplo:

Este es el tigger que se encarga de generar el número antes de insertar (Before insert)

Código SQL [-]
CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN

    if (new.cust_no is null) then
    new.cust_no = gen_id(cust_no_gen, 1);
END
^

SET TERM ; ^

Y Este es un generador, que se encarga de incrementar de uno en uno. Por ello es el valor 1. Puedes conseguir incrementar de ha saltos mayores cambiandolo:

Código SQL [-]
CREATE GENERATOR CUST_NO_GEN;
SET GENERATOR CUST_NO_GEN TO 1;

Para mayor info, busca en los foros que se trató el tema.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita