Respuesta de
a
Usuario
Que tal expertos:

Como hago para incrementar un código(llave primaria), automáticamente en interbase.

Y como hago para cambiar el tipo de fecha: esta configurado como mm/dd/yy pero lo necesitamos como dd/mm/yy
Avatar
Experto
Para hacer un campo autoincremental primero deberás crear un "generator". Esto lo puedes hacer a través del comando: (Ejemplo)

CREATE GENERATOR AutoIncField;

Luego Deberás crear un TRIGGER de tipo ON INSERT el cual se dispara usando un GENERATOR cuando Interbase agrega un registro físicamente en la tabla. Esto lo haces mediante el siguiente comando:

CREATE TRIGGER AutoIncTrigger FOR MiTabla
ACTIVE BEFORE INSERT POSITION 0
AS
begin
NEW.codigo = GEN_ID(AutoIncField,1);
END
^
COMMIT WORK ^
SET TERM ;^

La función GEN_ID() toma el generator y lo incrementa en 1 (uno), pero puedes hacer que el incremento sea de 2 en 2, de 10 en 10, en fin, como tú quieras.

Con respecto a las fechas, Interbase (y muchos DBMS's) usan la fecha en formato MM/DD/YYYY. Si quieres en lugar ded etrratar de "configurarlo" es preferible que crees alguna función que te lo "traduzca" tanto de dd/mm/yyyy a mm/dd/yyyy (cuando haces SQL's) como de mm/dd/yyyy a dd/mm/yyyy (para manejarlo/mostrarlo en tu aplicación).

Cualquier otra duda, cuenta conmigo.

Marco Piñeiro.