Clave primaria - simular autoincremental
Publicado por Juan Carlos (11 intervenciones) el 16/11/2009 17:34:15
Estimados Foreros:
Necesito saber que pros y contras tiene la solución que se me sugirió para el siguiente problema de gestionar la clave principal de una tabla (en realidad de varias).
Supongamos que tengo la tabla 'TABLA' cuya clave principarl es 'NRO_DE_TABLA', además tengo la tabla 'ULTIMO_NRO_TABLA' con una única columna con el mismo nombre. Lo que se me sugirió es que al insertar en 'TABLA' se lea primero 'ULTIMO_NRO_TABLA', se incremente este valor y al resultado se lo use para insertar la nueva tupla (y actualizando 'ULTIMO_NRO_TABLA'). Todo esto dentro de una transacción.
Otra opción en vez de tener la tabla extra es hacer un select max del campo clave, pero tendría un overhead de procesamiento.
Es esta una buena práctica, o al menos aceptable)
Espero haya podido explicarme, muchas gracias.
Entiendo que se puede usar un campo 'autoincremental', pero se me pidió que no haga uso de esta facilidad :(.
Necesito saber que pros y contras tiene la solución que se me sugirió para el siguiente problema de gestionar la clave principal de una tabla (en realidad de varias).
Supongamos que tengo la tabla 'TABLA' cuya clave principarl es 'NRO_DE_TABLA', además tengo la tabla 'ULTIMO_NRO_TABLA' con una única columna con el mismo nombre. Lo que se me sugirió es que al insertar en 'TABLA' se lea primero 'ULTIMO_NRO_TABLA', se incremente este valor y al resultado se lo use para insertar la nueva tupla (y actualizando 'ULTIMO_NRO_TABLA'). Todo esto dentro de una transacción.
Otra opción en vez de tener la tabla extra es hacer un select max del campo clave, pero tendría un overhead de procesamiento.
Es esta una buena práctica, o al menos aceptable)
Espero haya podido explicarme, muchas gracias.
Entiendo que se puede usar un campo 'autoincremental', pero se me pidió que no haga uso de esta facilidad :(.
Valora esta pregunta


0