Цикл по запросу или таблице без курсора
DECLARE @Loc_tables TABLE
(
ID INT IDENTITY(1,1),
DocumentID INT
)
INSERT INTO @Loc_tables(DocumentID)
SELECT DISTINCT DocumentId FROM t_Documents with(nolock)
DECLARE @Loc_i_CurrID INT,
@Loc_i_MaxID INT
SET @Loc_i_CurrID = isNULL((SELECT MIN(ID) FROM @Loc_tables),0)
SET @Loc_i_MaxID = isNULL((SELECT MAX(ID) FROM @Loc_tables),-1)
SELECT DocumentID FROM @Loc_tables WHERE ID = @Loc_i_CurrID
WHILE @Loc_i_CurrID <= @Loc_i_MaxID
BEGIN
SELECT DocumentID
FROM t_Documents
WHERE ID = @Loc_i_CurrID
SET @Loc_i_CurrID = @Loc_i_CurrID + 1
END
|