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

Procedimiento para Generar ID con LETRA. Sin Duplicidad

Estas en el tema de Procedimiento para Generar ID con LETRA. Sin Duplicidad en el foro de Mysql en Foros del Web. Hola estaba viendo que el tema http://www.forosdelweb.com/f21/id-co...-mysql-768585/ habia una duda en que si se podia generar ID con LETRA ejemplo: AL001 , AL002 Bueno me ...
  #1 (permalink)  
Antiguo 05/05/2014, 17:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Sonrisa Procedimiento para Generar ID con LETRA. Sin Duplicidad

Hola estaba viendo que el tema
http://www.forosdelweb.com/f21/id-co...-mysql-768585/
habia una duda en que si se podia generar ID con LETRA
ejemplo: AL001 , AL002
Bueno me quede con esa duda y me hise un procedimiento
haber si pueden opinar si esta bien planteado
aqui les dejo el codigo mysql
Código MySQL:
Ver original
  1. delimiter //
  2. create procedure NuevoID (IN nombre VARCHAR(50),IN estado int)
  3. declare GenId varchar(10);
  4. set max = (select MAX(id) from usuario);
  5. set num = (SELECT LTRIM(RIGHT(max,4)));
  6. if num>=1 and num <=8 then
  7.     set num = num + 1;
  8.     set GenId = (select concat('AL000'  ,  CAST(num as CHAR)));
  9. elseif num>=9 and num <=98 then
  10.     set num = num + 1;
  11.     set GenId = (select concat('AL00'  ,  CAST(num as CHAR)));
  12. elseif num>=99 and num <=998 then
  13.     set num = num + 1;
  14.     set GenId = (select concat('AL0'  ,  CAST(num as CHAR)));
  15. elseif num>=999 and num <=9998 then
  16.     set num = num + 1;
  17.     set GenId = (select concat('AL'  ,  CAST(num as CHAR)));
  18.     set GenId=(select 'AL0001');
  19. insert into usuario values (GenId,nombre,estado);
  20. //
  21. //ejecutandolo seria
  22.  
  23. mysql> call NuevoID('Estefani',1);
  24.  
  25. +--------+--------+----------+--
  26. | codigo | nombre | estado    |
  27. +--------+--------+----------+--
  28. | AL0001| Estefani|     1      |
  29. +--------+--------+----------+

si se fijan ahi me genera un codigo parecido al AUTO-INCREMENT
pero con el formato AL+NUM
Es mi primer APORTE.
OJALA LES SIRVA!

Etiquetas: Ninguno
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 15:23.