Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Campos de autoincremento (https://www.clubdelphi.com/foros/showthread.php?t=80706)

dec 01-07-2006 02:20:05

Campos de autoincremento
 
¿Cómo se implementa un campo Autoincremento en Interbase y SQL Server?

Para los que vienen de Paradox u otros sistemas similares al mundo C/S la primera pega que se encuentran es como genero un campo Autoincremento.

SQL Server de Microsoft:

Tenemos unos campos especiales, llamados Entity, que suplen esta función.

Interbase:

Es algo más trabajoso (va muy bien usar una herramienta aftercase):

1) Creamos un generador: SET GENERATOR GenIdCliente TO 1 (aquí el numero lo escogemos, claro está, en el ejemplo inicio a 1.)

2) Campo = GEN_ID(GenIdCliente, 1) Aquí el 1 es el step de incremento, podemos hacerlo de 2 en 2 o lo que queramos. "Campo" es el campo de la base de datos a incrementar. Este código puede ponerse en una Stored Procedure o bien en un Trigger. (Desde Delphi, ojo con los refrescos, sino el campo parece que no se insertó).

Importante: Los generadores son atransaccionales, eso significa que si usamos un generador para generar números correlativos desde una transacción pueden no ser consecutivos, dependiendo de si acabamos bien o no, ya que el rollback no recupera el valor del generador. (Se pueden usar técnicas de doble generador para este menester).


La franja horaria es GMT +2. Ahora son las 22:55:05.

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