Estimados:

Tengo algo armado con claves generadas a partir de
right(sys(2015),9)+_screen.ipEnd

El sys(2015) garantiza claves únicas en una misma PC (tengo tablas con más
de 25 millones de registros que lo verifican). Descarto el primer carácter
ya que es constante.

La propiedad ipEnd corresponde al último grupo de la IP de cada PC o en
algunos identifica procesos (mediante hardcode)

De esa clave se desprende el Dónde (siempre y cuando haya IPs fijas o
registro de DHCP) y Cuando ya que el sys(2015) es reversible obteniendo
DateTime (con milisegundos si no me equivoco) del instante de generación. El
quien surge del registro que llevo de acuerdo a
Usuario/PC/Dominio/UsuarioSistema/Login/Logout.

Saludos,

 

Martín

 

De: [email protected] [mailto:[email protected]] En nombre de Carlos Miguel
FARIAS
Enviado el: Viernes, 27 de Noviembre de 2009 18:25
Para: GUFA List Member
Asunto: [GUFA] Campo Autoincremental

 


Estimados:
Si lo que se necesita es una clave unica, para identificar el registro (o
los registros) en forma univoca, lo que se puede hacer, es armar una clave,
que contenga el instante de creacion mas algo calculado del nombre de la
maquina y del usuario.
Eso ya lo discutimos unos meses atras y hay muchos metodos posibles.
La ventaja es que no tendrías la lentitud (30% mas lento) que indica al
menos la teoria acerca de manejar un indice autoincremental.
Con un indice como el que sugiero, ademas de orden de carga, te quedan tres
pistas de auditora, cuando, donde y quien.
Saludos: Miguel

--- El jue 26-nov-09, Norberto Mario Alvarez <[email protected]>
escribió:


De: Norberto Mario Alvarez <[email protected]>
Asunto: [GUFA] Campo Autoincremental
Para: "GUFA List Member" <[email protected]>
Fecha: jueves, 26 de noviembre de 2009, 10:59 am

Ok, muchas gracias, voy a cambiar la lógica!!!. Voy a tomar de un select  el
valor máximo en el momento de guardar. Desde ya muchas gracias.

 

Norberto Alvarez

 

 

De: [email protected] [mailto:[email protected]] En nombre de Rafael Copquin
Enviado el: jueves, 26 de noviembre de 2009 09:17 a.m.
Para: GUFA List Member
Asunto: [GUFA] Campo Autoincremental

 

Esa es una de las razones por las cuales los campos autoincrementales se
deberían utilizar solamente como claves primarias surrogadas. Si por ejemplo
las usamos para generar números de facturas (que deberían coincidir con el
número del formulario preimpreso), en caso de error o de que, como dice
Antonio, alguien grabe antes que vos, se te puede armar una galleta
infernal.

 

Deberías considerarlas equivalentes a un número de registro. Pero a
diferencia de recno(), que te da el número de registro y permanece constante
a menos que borres algunos registros y le hagas un pack a la tabla, dicho
número es absolutamente independiente del número de registro. En otras
palabras, si tenés una tablita con 10 registros y borrás el último, por
ejemplo, le hacés un pack y después agregás otro registro, dicho nuevo
registro va a tener el número 10 de recno(), pero en el caso de la clave
autoincremental va a tener el 11. Si vos hubieras basado tu lógica en el
recno() tendrías un resultado que no es el correcto. En cambio, con el
número autoincremental podés borrar todos los registros que quieras, pero el
registro siempre conserva su identidad inalterable. Las relaciones entre
tablas no se te modifican, en fin......

 

Rafael Copquin

 

 

----- Original Message ----- 

From: Antonio M. Castaño 

To: GUFA List Member 

Sent: Wednesday, November 25, 2009 8:27 PM

Subject: [GUFA] Campo Autoincremental

 

Hola Norberto:

 

Es así. Es lo que hacen todos los motores de base de datos. Cuando vos hacés
el append te "reserva" el número siguiente de el campo autoncremental. Hace
eso, porque en ese mismo momento, alguien podría estar haciendo otro append.
Si no tiene reservado una para vos, qué número le asignaría si el otro graba
primero?. Lo que te garantiza el motor es que sean todos diferentes. NO que
sean consecutivos.

 

Si necesitás un campos incremental, todos consecutivos, lo tenés que manejar
de otra manera, con lógica programada por vos.

 

Saludos!

 

  _____  


Encontra las mejores recetas con Yahoo! Cocina. 
http://ar.mujer.yahoo.com/cocina/

Responder a