Bueno lo que tenia pensado es hacer una función que me genere Claves Primarias para una determinada tabla (@NombreTabla).
la clave primaria tiene que generar con parte del nombre de la tabla, por ejemplo para una tabla
- TCliente: ------> clave primaria seria: CLI02101
- TProducto ------>clave primaria seria: PRO0581
la clave primaria consta de dos partes la parte de la abreviatura del nombre de la tabla y la parte numérica incrementable.
hasta el momento tengo una parte de la funcioon la cual me gustaria hacerla más general, puesto que solo trabaja con un
parámetros preestablecidos, alguien tiene una idea de como puedo generalizar la funcion, y esta me funcion con solo dar el nombre de cualquier tabla????
Código:
CREATE FUNCTION f_crearIdAutoincr
(@NombreTabla varchar(50))
RETURNS varchar(8)
AS
BEGIN
DECLARE @Max int
DECLARE @Ident varchar(8)
set @Ident = upper(SUBSTRing(@NombreTabla,2,3))
set @Max = (select isnull ((select (substring (CodCliente,3,3)) from tCliente),0))
set @Max=@Max+1
--Retorno el valor
RETURN @Ident+(select RIGHT('0000' + cast(@Max as varchar(4)), 4))
END;