Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Salto de Secuencia Identidad SQL Server (https://www.clubdelphi.com/foros/showthread.php?t=94423)

feliz-58 04-02-2020 05:58:23

Salto de Secuencia Identidad SQL Server
 
Saludos a todos!,

Como Saben el SQL da esa falla de saltar la secuencia de la indetidad en un campo entero autoincrementable configurado para 1, vi que se agrega en la configuracion el -t272 a algunos les funciona, pero a mi no, alguna otra solucion que no sea quitar el autoincrementable, a fin de cuentas?

Gracias! ^\||/

mamcx 04-02-2020 15:25:51

Mira esta informacion:

https://dba.stackexchange.com/questi...ing-sql-server

NOTA: Es un error de logica CREER que un autoincrement no "salta" valores. Eso NO ES una garantia de los autoincrement. La UNICA garantia es esta: El valor se incrementa.

Eso es todo.

Si necesitas un valor que no "salte" TIENES que programar eso.

P.D: Esto hace parte de un conjunto de cosas que los programadores "evadimos" por pereza, como suponer que la fecha del sistema no puede ir hacia atras, que si le sumo 1 segundo a la fecha la siguiente fecha sera mas 1 segundo, que darle guardar a un archivo guarda el archivo, que si le doy "archivo existe?" y luego "abrir archivo!" entonces abrir no puede fallar, etc.

Aun cuando vivamos bajo la ilusion que luego de 1 sigue 2, y que todo es sequencial, solo se garantiza causalidad cuando:

1- Usamos un atomic de la CPU
2- Usamos transacciones
3- Usamos un log y hacemos un replay del log

feliz-58 05-02-2020 04:50:00

Cita:

Empezado por mamcx (Mensaje 535551)
Mira esta informacion:

https://dba.stackexchange.com/questi...ing-sql-server

NOTA: Es un error de logica CREER que un autoincrement no "salta" valores. Eso NO ES una garantia de los autoincrement. La UNICA garantia es esta: El valor se incrementa.

Eso es todo.

Si necesitas un valor que no "salte" TIENES que programar eso.

P.D: Esto hace parte de un conjunto de cosas que los programadores "evadimos" por pereza, como suponer que la fecha del sistema no puede ir hacia atras, que si le sumo 1 segundo a la fecha la siguiente fecha sera mas 1 segundo, que darle guardar a un archivo guarda el archivo, que si le doy "archivo existe?" y luego "abrir archivo!" entonces abrir no puede fallar, etc.

Aun cuando vivamos bajo la ilusion que luego de 1 sigue 2, y que todo es sequencial, solo se garantiza causalidad cuando:

1- Usamos un atomic de la CPU
2- Usamos transacciones
3- Usamos un log y hacemos un replay del log

Entiendo tu punto, pero no crees que si la opción para que el campo sea autoincrementable está ahí, y además también te permite espesificar cuánto se va a incrementar por cada registro nuevo, no es por algo? Me refiero al hecho de que es cierto lo que dices, no se hace a código por pereza, pero si yo hago una herramienta y le pongo la opción para evitar hacer más trabajo, no debo entonces corregir esas "fallas" porque por algo puse la opción, de lo contrario mejor no pongo la opción ahí y punto, cada uno hágalo como crea...

También es un error de lógica creer que porque algo no funciona entonces vamos a buscar soluciones subyacentes en vez de resolver el problema directamente de la fuente, te imaginas si a todos los problemas le buscarnos soluciones temporales y subyacentes?

Saludos.


La franja horaria es GMT +2. Ahora son las 09:26:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi