Resulta que necesito ingresar un nuevo registro con un id unico en una tabla (albt), esta misa tabla es consultada por otros desde el mismo sitio hecho en PHP.
Ahora, por cuestiones de diseño (obviamente del programador anterior) no puedo usar autonumericos y ademas el tipo del campo id es VARCHAR y tiene un formato especifico por ejemplo '00215645'
La pregunta es: Como puedo insertar un nuevo registro con el siguiente numero de ese campo, teniendo en cuenta los ceros Y PARA PEOR usando algun tipo de bloqueo para que nadie lo cree antes de que yo termine ?
Por ahora tengo esto:
Código:
Hay varios problemas, en primer lugar el resultado que obtengo es '215646' en lugar de '00215646' como debería ser, y después... que tan seguro es obtener el máximo con MAX() sobre un campo VARCHARBEGIN TRAN BEGIN TRY INSERT INTO albt(id) SELECT MAX(id) + 1 FROM albt COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH
Bueno como verán estoy un poco preocupado con estos problemas y me seria muy útil su ayuda!
Suerte!