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