Cita:
Iniciado por thescaryboy
Saludos Soy nuevo en esta excelente comunidad, no se si este es el foro indicado, pero, necesito saber como crear un Código en donde tome la primera letra del Campo (Nombre), la del campo (Apellido) y el año de Nacimiento Automáticamente de una Tabla en SQL Server 2005.
Necesito usarlo como ID automático con el codigo en vez de que cuente ("1,2,3,4....etc.")
Gracias.
Esto se puede hacer todo desde un procedimiento almacenado, lo único que debes de hacer es un substring al parámetro que recibe el nombre y otro el apellido para que saque la primera letra y luego solo conviertes la fecha a varchar y lo almacenadas, recuerda que este campo se podrá repetir en el caso de que dos personas tenga la misma fecha de nacimiento y el los nombres empiecen por la misma letra.
Ahora como lo haces, pues simplemente el procedimiento que almacena la información de usuario, después de insertar al nuevo usuario, almacena el Identity del registro solo con esta intrucion select @id= @@IDENTITY donde @Id es una variable cualquiera de tipo int, después con ese variable solo haces un update sobre el campo combinado de la iniciales y el nombre
aqui te dejo un ejemplo :
Código SQL:
Ver originalDECLARE @Nombre VARCHAR(100),@Apellido VARCHAR(100),@Fecha DATETIME,@Codigo VARCHAR(100),@Id INT
SET @Nombre = 'Juan David'
SET @Apellido = 'Torres Vaquez'
SET @Fecha = GETDATE()
SELECT @Codigo=CAST((SUBSTRING(@Nombre,1,1)+SUBSTRING(@Apellido,1,1)++CONVERT(VARCHAR(10),@Fecha,112)) AS VARCHAR(100))
SELECT @id= @@IDENTITY
SELECT @Codigo,@id AS Codigo