Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   campo AutoIncremental en Interbase (https://www.clubdelphi.com/foros/showthread.php?t=3041)

Alejo 19-08-2003 16:42:53

campo AutoIncremental en Interbase
 
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/arch...ic.php?t=17685

Saludos.


La franja horaria es GMT +2. Ahora son las 09:24:00.

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