PDA

Ver la Versión Completa : campo AutoIncremental en Interbase


Alejo
19-08-2003, 16:42:53
ke tal; pues esa es la pregunta:

estoy trabajando con InterBase 6 y necesito ke un campo de una tabla se autoincremente solito; estoy lo puedo hacer por codigo desde delphi pero me gustaria saber si existe alguna forma de ke lo haga la BD; por ejemplo desde la definicion de la BD

Gracias!!!

victork_py
19-08-2003, 17:10:52
Podes hacerlo usando un generador dentro de un trigger before insert.
Suponiendo que tenes un campo CLI_ID en un tabla CLIENTES, y queres que sea autoincrementado, entonces:

- Creas un generador
CREATE GENERATOR GEN_CLIENTES

- Creas un trigger de tipo BEFORE INSERT en la tabla CLIENTES, y agregas esta linea:

NEW.CLI_ID = GEN_ID(GEN_CLIENTES, 1);

- Y en tu aplicación cuando haces el insert, simplemente omitís el campo CLI_ID.

Geron
27-08-2003, 21:23:12
Hola que tal a todos este es mi primer mensaje!!!

Yo necesito saber además como puedo hacer para que el campo incremental tenga siempre el primer valor posible, dicho de otra manera el max(campo identificador)...
probe con un trigger, pero no acepta el comando set Generator

kinobi
28-08-2003, 00:27:06
Hola,

el cambio del valor de un generador en triggers y procedimientos almacenados se ha tratado varias veces en estos foros. Una de ellas puede verse en este hilo ...

http://www.clubdelphi.com/foros/archivo/viewtopic.php?t=17685

Saludos.