gpt4 book ai didi

sql - 我可以在 T-SQL 中循环遍历表变量吗?

转载 作者:行者123 更新时间:2023-12-01 17:29:19 26 4
gpt4 key购买 nike

是否有办法在 T-SQL 中循环遍历表变量?

DECLARE @table1 TABLE ( col1 int )  
INSERT into @table1 SELECT col1 FROM table2

我也使用游标,但游标似乎不如表变量灵活。

DECLARE cursor1 CURSOR  
FOR SELECT col1 FROM table2
OPEN cursor1
FETCH NEXT FROM cursor1

我希望能够以与游标相同的方式使用表变量。这样我就可以在过程的一部分中对表变量执行一些查询,然后为表变量中的每一行执行一些代码。

非常感谢任何帮助。

最佳答案

向表变量添加一个标识,并执行一个从 1 到 INSERT-SELECT 的 @@ROWCOUNT 的简单循环。

试试这个:

DECLARE @RowsToProcess  int
DECLARE @CurrentRow int
DECLARE @SelectCol1 int

DECLARE @table1 TABLE (RowID int not null primary key identity(1,1), col1 int )
INSERT into @table1 (col1) SELECT col1 FROM table2
SET @RowsToProcess=@@ROWCOUNT

SET @CurrentRow=0
WHILE @CurrentRow<@RowsToProcess
BEGIN
SET @CurrentRow=@CurrentRow+1
SELECT
@SelectCol1=col1
FROM @table1
WHERE RowID=@CurrentRow

--do your thing here--

END

关于sql - 我可以在 T-SQL 中循环遍历表变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1578198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com