Código autonumérico

Tengo mi tabla clientes y mis campos son idcliente, nombre nada más.
Quiero generar que el idcliente sea autonumérico al momento de insertar un registro.
Mi base de datos esta en SQLSERVER 2000 como hago. Gracias
NOTA:
el idcliente es tipo char.

1 respuesta

Respuesta
1
Utiliza este código:
Select  max(convert(integer,id_cliente)) into :ll_cant from clientes
IF isnull(ll_cant) then ll_cant = 0
ll_cant += 1
ls_codigo = string(ll_cant,'0000')
En ls_codigo obtendras el codigo autogenerado lo estoy poniendo como si tuviera 4 caracteres.
Cualquier duda al respecto solo pregunta.
Experto siguiendo tu código com haría para insertar un cliente .
En mi formulario tengo colocado sle_1.text y sle_2.text para el código y le nombre ha y un botón GRABAR .
Puedes usar el insert:
insert into cliente(codigo,nombre)
values(:ls_codigo,:sle_2.text);
EXPERTO ME SALE SYNTAX ERROR Select max(convert(integer,id_cliente)) into :ll_cant from clientes .
Las variables que estas usando de que tipos son, he puesto esa consulta en el analizador de consultas de SQLSERVER2000 y hay me vota normal el máximo código pero a la hora que lo pongo en POWER BUILDER me vota error, dime que puedo hacer
Disculpa me olvide colocar lo siguiente:
select max(convert(integer,id_cliente)) into :ll_cant from cliente using sqlca;
Experto ok me salio perfecto pero que pasaría si yo quiero que se incremente en este tipo de formato C01, C02, C03, C04... he intentado con el código que me has dado pero al hora de levantar la ventana me sale el primero osea c01, cuando debería votarme C05 el que sigue pues
Haz lo siguiente:
Select max(convert(integer,right(id_cliente,2))) into :ll_cant from cliente using sqlca;
luego en ll_cant tendras el ultimo numero
ll_cant +=1
luego colocas ls_codigo = string(ll_cant,'C00')
Por tanto en la variable ls_codigo esta el siguiente correlativo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas