Constancia

SQL_PROC_MAX_ID

Sep 9th, 2014
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.11 KB | None | 0 0
  1.   /* ================================================
  2.  -- ******** LLAMADA
  3.  
  4.     DECLARE @ID NUMERIC
  5.      
  6.     --SELECT * FROM tbCargas ORDER BY IDCarga DESC
  7.      
  8.     EXEC @ID = dbo.MAX_ID 'CARTERA.dbo.tbClientes','IdCliente'
  9.      
  10.     PRINT @ID
  11.    
  12.    ================================================ */
  13.      
  14.     -- DROP PROCEDURE MAX_ID
  15.     CREATE PROCEDURE MAX_ID
  16.         --***>> PARÁMETROS
  17.         @TABLA CHAR(100),
  18.         @COL_ID CHAR(20)
  19.        
  20.     --RETURNS NUMERIC
  21.    
  22.    
  23.     AS
  24.     BEGIN
  25.    
  26.     --DECLARE @TABLA VARCHAR(50)
  27.     --SELECT @TABLA = 'tbCargas'
  28.            
  29.     DECLARE @SQL NCHAR(255)
  30.     DECLARE @MaxId NUMERIC
  31.            
  32.     --SELECT COL_ID = COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = @TABLA
  33.      
  34.     SELECT @SQL = 'SELECT @MaxId = MAX(' + @COL_ID + ') FROM ' + @TABLA
  35.     EXECUTE sp_executesql @SQL ,N'@MaxId varchar(30) OUTPUT', @MaxId=@MaxId OUTPUT
  36.      
  37.     RETURN @MaxId
  38.      
  39.     --PRINT 'TABLA : ' + @Tabla
  40.     --PRINT 'COLUMNA ID : ' + @@COL_ID
  41.     --PRINT 'SQL : ' + @SQL
  42.      
  43.     --PRINT 'MAX ID : '  + CONVERT(VARCHAR,@MaxId)
  44.            
  45. END
Advertisement
Add Comment
Please, Sign In to add comment