CREATE PROCEDURE [dbo].[sp_ObtenerPrimerHueco]
    @table VARCHAR(100),
    @numericColumn VARCHAR(100),
    @minValue INT = NULL,
    --valor obtenido
    @value INT OUT
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    DECLARE @sql AS NVARCHAR(MAX)
    SET @sql =       N' SELECT TOP 1 @value = ' + @numericColumn
    SET @sql = @sql + ' FROM ' + @table + ' t1'
    SET @sql = @sql + ' WHERE NOT EXISTS('
    SET @sql = @sql + '    SELECT ' + @numericColumn
    SET @sql = @sql + '    FROM ' + @table + ' t2'
    SET @sql = @sql + '    WHERE t1.' + @numericColumn + ' + 1 = t2.' + @numericColumn
    SET @sql = @sql + ' )'
    SET @sql = @sql + ' AND ' + @numericColumn + ' >= ' + ISNULL(CAST(@minValue AS VARCHAR), '0')
    SET @sql = @sql + ' ORDER BY ' + @numericColumn     
    
    EXEC sp_executesql @statement = @sql,
         @params = N'@value INT OUTPUT',
         @value = @value OUTPUT 
END
miércoles, 14 de diciembre de 2011
Procedimiento almacenado para encontrar el primer hueco en una tabla
Con este procedimiento almacenado podemos obtener el primer hueco existente en cualquier tabla
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario