【发布时间】:2016-04-15 08:13:16
【问题描述】:
在 T-SQL 中,我想通过逐行读取来遍历存储过程中的表。
DECLARE @IMAX INT,
@ICOUNT INT,
@INTERFACE_ID_36 INT,
@INTERFACE_ID_38 INT
SELECT * FROM INTERFACE_36_DATA
SET @IMAX = @@ROWCOUNT
SET @ICOUNT = 1
WHILE(@ICOUNT <= @IMAX)
BEGIN
SELECT @INTERFACE_ID_36 = Interface_ID
FROM INTERFACE_36_DATA
WHERE ROW_NUMBER() OVER (ORDER BY id) AS = @ICOUNT --syntax error here
IF @INTERFACE_ID_36 = 10
SET @INTERFACE_ID_38 = 0
ELSE IF @INTERFACE_ID_36 =
【问题讨论】:
-
那么问题/问题/查询是什么? - 你也可以使用 While 循环和光标。
-
在 T-SQL 中,一般规则是:尽量避免 RBAR (row-by-agonizing-row) 处理。使用基于集合的“本机”SQL操作——更简单、更快
标签: sql-server tsql