CREATE FUNCTION genNumeroCuentaAux(@Num_CM VARCHAR(9))
RETURNS VARCHAR(9)
BEGIN
DECLARE @Num_CA VARCHAR(9)
DECLARE @Numero INT
DECLARE @NumSiguiente_CA VARCHAR(9)
SELECT @Num_CA=MAX(Num_CA) FROM tblCuentaAuxiliar WHERE Num_CM=@Num_CM
SELECT @Num_CA=isnull(@Num_CA,'')
SELECT @Numero = 0
SELECT @NumSiguiente_CA=@Num_CM
IF @Num_CA<>''
BEGIN
SELECT @Numero=CAST(SUBSTRING(@Num_CA,6,4) AS INT)
END
SELECT @Numero = @Numero+1
SELECT @NumSiguiente_CA=@NumSiguiente_CA+'-'+RIGHT('000'+CAST(@Numero AS VARCHAR(4)),4)
RETURN @NumSiguiente_CA
END
GO
SELECT dbo.genNumeroCuentaAux('1010')