Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Autogenerar Codigo en SQL

Estas en el tema de Autogenerar Codigo en SQL en el foro de SQL Server en Foros del Web. Ante todos tengan buen dia al grupo de programadores, espero pues que me puedan ayudar ya que recien estoy entrando al mundo de la programacion ...
  #1 (permalink)  
Antiguo 03/06/2008, 11:12
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 16 años, 7 meses
Puntos: 0
Pregunta Autogenerar Codigo en SQL

Ante todos tengan buen dia al grupo de programadores, espero pues que me puedan ayudar ya que recien estoy entrando al mundo de la programacion bie neste es el caso: quiero autogenerar un codigo algo como este CD0000001 como ven hay caracteres de tipo string "CD" con ceros a la izquierda de los numeros interos:

CD0000001, CD0000002,........................CD0000009, CD0000010,CD0000011.

como ven es un char (9) por lo tanto debe respetarse ese rango.
Yo lo hice por codigo visual basic .net y lo incruste y si funciono pero me dijeron que lo haga por SQL para que tenga un mejor rendimiento asi pues amigos necesito de su ayuda o algun comentario como hacerlo.

gracias
  #2 (permalink)  
Antiguo 03/06/2008, 11:18
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Respuesta: Autogenerar Codigo en SQL

Puedes generar un campo tipo identity (mayor referencia en ayuda de sql server), este se incrementa automaticamente al insertar el nuevo registro.

Para consultar en el formato que mencionas, puedes concatener la cadena CD y rellenar con los ceros que hagan falta...algo como esto:

Código:
Select 'CD' + right(replicate('0',7) + cast(isnull(MicampoIdentity,0) as varchar), 6) as clave
From MiTabla
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:19.