Código PHP:
create procedure generarcodigo
(nomtabla varchar(50),x varchar(20))
begin
declare ultcod varchar(20);
declare total int;
declare ceros int;
declare opcion int;
declare cod varchar(20);
set ultcod=(select ultimocodigo from auxiliar where tabla=nomtabla);
set opcion = (select count(*) from auxiliar where tabla=nomtabla);
if opcion > 0 then
set total = cast(substring(ultcod,2,length(ultcod)) as unsigned) + 1;
set ceros = length(ultcod) - length(total)-1;
set x = concat(left(ultcod,1),repeat("0",ceros),total);
update auxiliar set ultimocodigo=x where tabla=nomtabla;
end if;
end;
//-----------------------------
create function darcodigo(nomtabla varchar(20),cod varchar(20)) returns varchar(20)
begin
select ultimocodigo into cod from auxiliar where tabla=nomtabla;
return cod;
end
//
------------------------------------;
create table auxiliar
(tabla varchar(50),
ultimocodigo varchar(50));
//
insert into auxiliar values("candidata","C000000");//