/* ================================================
-- ******** LLAMADA
DECLARE @ID NUMERIC
--SELECT * FROM tbCargas ORDER BY IDCarga DESC
EXEC @ID = dbo.ID_NUEVO 'CARTERA.dbo.tbClientes','IdCliente'
PRINT @ID
================================================ */
-- DROP PROCEDURE ID_NUEVO
CREATE PROCEDURE [dbo].[ID_NUEVO]
--***>> 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 @MAX_ID NUMERIC
--SELECT COL_ID = COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = @TABLA
SELECT @SQL = 'SELECT @MAX_ID = MAX(' + @COL_ID + ') FROM ' + @TABLA
EXECUTE sp_executesql @SQL ,N'@MAX_ID varchar(30) OUTPUT', @MAX_ID=@MAX_ID OUTPUT
IF @MAX_ID IS NULL
BEGIN
SELECT @MAX_ID = 0
END
ELSE
BEGIN
SELECT @MAX_ID =@MAX_ID + 1
END
RETURN @MAX_ID
--PRINT 'TABLA : ' + @Tabla
--PRINT 'COLUMNA ID : ' + @@COL_ID
--PRINT 'SQL : ' + @SQL
--PRINT 'MAX ID : ' + CONVERT(VARCHAR,@MAX_ID)
END
GO
Comments