Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/08/2010, 13:52
Avatar de xjuanch0x
xjuanch0x
 
Fecha de Ingreso: septiembre-2009
Mensajes: 125
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Generar Codigo com Campos SQL Server 2005

Cita:
Iniciado por thescaryboy Ver Mensaje
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 original
  1. DECLARE @Nombre VARCHAR(100),@Apellido VARCHAR(100),@Fecha DATETIME,@Codigo VARCHAR(100),@Id INT
  2. SET @Nombre = 'Juan David'
  3. SET @Apellido = 'Torres Vaquez'
  4. SET @Fecha = GETDATE()
  5.  
  6. SELECT @Codigo=CAST((SUBSTRING(@Nombre,1,1)+SUBSTRING(@Apellido,1,1)++CONVERT(VARCHAR(10),@Fecha,112)) AS VARCHAR(100))
  7. SELECT @id= @@IDENTITY
  8. SELECT @Codigo,@id AS Codigo
__________________
Juan David Torres Vasquez
[email protected]
Microsoft Certified Technology Specialist (MCTS)
DCE Platinum en Visual C# y VB.NET