如何在SQL Server中使用CTE实现简单的while循环

时间:2018-12-06 15:47:06

标签: loops while-loop common-table-expression

我需要实现一个存储过程-我将在其中调用另一个传递一些信息的AuditStoredProcedure。

我当前使用临时表的实现。

SELECT * INTO #Temp FROM @RowIds
WHILE EXISTS (SELECT * FROM #Temp)
BEGIN
    SELECT TOP 1 @RowId = RowId from #Temp
    --PRINT @RowId
    EXEC @StoredProcName @RowId, @Action 
    DELETE #Temp WHERE RowId = @RowId
END

END

是否有更好的方法使用CTE或其他机制来做到这一点? 就我而言,临时表的行数不会超过100。

0 个答案:

没有答案