/* ================================================
-- ******** LLAMADA
DECLARE @ID NUMERIC
--SELECT * FROM tbCargas ORDER BY IDCarga DESC
EXEC @ID = dbo.MAX_ID 'CARTERA.dbo.tbClientes','IdCliente'
PRINT @ID
================================================ */
-- DROP PROCEDURE MAX_ID
CREATE PROCEDURE MAX_ID
--***>> PARÁMETROS
@TABLA CHAR(100),
@COL_ID CHAR(20)
--RETURNS NUMERIC
AS
BEGIN
--DECLARE @TABLA VARCHAR(50)
--SELECT @TABLA = 'tbCargas'
DECLARE @SQL NCHAR(255)
DECLARE @MaxId NUMERIC
--SELECT COL_ID = COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = @TABLA
SELECT @SQL = 'SELECT @MaxId = MAX(' + @COL_ID + ') FROM ' + @TABLA
EXECUTE sp_executesql @SQL ,N'@MaxId varchar(30) OUTPUT', @MaxId=@MaxId OUTPUT
RETURN @MaxId
--PRINT 'TABLA : ' + @Tabla
--PRINT 'COLUMNA ID : ' + @@COL_ID
--PRINT 'SQL : ' + @SQL
--PRINT 'MAX ID : ' + CONVERT(VARCHAR,@MaxId)
END
Comments