
GENERAR CODIGO CON PRODECIMIENTOS ALMACENADOS
Publicado por Percy (4 intervenciones) el 03/03/2016 21:45:37
Buenas tardes comunidad tengo un inconveniente con un procedimiento almacenado que genera codigos de identificacion:
CAT00001
CAT00002
CAT00003
CAT00004
CAT00005
CAT00006
CAT00007
CAT00008
CAT00009
Hasta ahi lo hace pero cuando debe generar el registro : CAT00010 vuelve al primero osea al codigo: CAT00001
nose que estoy haciendo mal incluyo mi procedimiento.
ALTER PROCEDURE [dbo].[pa_Generar_Codigo_Categorias](
@ID_CATEGORIA varchar(8) output)
as begin
Declare @Cant Int
Set @Cant=(Select Count(*) From tb_Categoria)
begin
If ((select COUNT(*) from tb_Categoria)=0)
Set @ID_CATEGORIA ='CAT00001'
Else
Begin
Set @ID_CATEGORIA =(Select max(SubString(db_codigo_categoria,4,6))From tb_Categoria WHERE LEFT(db_codigo_categoria,3)='CAT')
Set @ID_CATEGORIA=LEFT('CAT',3)+ Right('0000'+ Cast(Cast(@ID_CATEGORIA As Int)+1 As VarChar(8)),6)
End
END
end
Espero me puedan dar una mano. Gracias de antemano
CAT00001
CAT00002
CAT00003
CAT00004
CAT00005
CAT00006
CAT00007
CAT00008
CAT00009
Hasta ahi lo hace pero cuando debe generar el registro : CAT00010 vuelve al primero osea al codigo: CAT00001
nose que estoy haciendo mal incluyo mi procedimiento.
ALTER PROCEDURE [dbo].[pa_Generar_Codigo_Categorias](
@ID_CATEGORIA varchar(8) output)
as begin
Declare @Cant Int
Set @Cant=(Select Count(*) From tb_Categoria)
begin
If ((select COUNT(*) from tb_Categoria)=0)
Set @ID_CATEGORIA ='CAT00001'
Else
Begin
Set @ID_CATEGORIA =(Select max(SubString(db_codigo_categoria,4,6))From tb_Categoria WHERE LEFT(db_codigo_categoria,3)='CAT')
Set @ID_CATEGORIA=LEFT('CAT',3)+ Right('0000'+ Cast(Cast(@ID_CATEGORIA As Int)+1 As VarChar(8)),6)
End
END
end
Espero me puedan dar una mano. Gracias de antemano
Valora esta pregunta


0