Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2014, 17:58
keygen20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 6 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!