深入浅出:mssql 数据表的遍历操作(mssql 表的遍历)
深入浅出:mssql 数据表的遍历操作
在mssql中,数据表的遍历操作是一个非常重要的操作,而且很多时候也会用到它。MSSQL的遍历数据表的操作可以用声明一组参数(declare)、在循环体内执行一段SQL(while循环)、并在退出循环时,在选定的游标中完成动作(fetch)来实现。
示例代码:
declare @temp table(Id int,Name varchar(20))
declare @Id int
declare @Name varchar(20)
declare @CursorName CURSOR
set @CursorName = CURSOR FOR
select Id,Name from Test
open @CursorName
FETCH NEXT FROM @CursorName INTO @Id,@Name
WHILE @@FETCH_STATUS=0
BEGIN
print ‘Id’
print @Id
print ‘Name’
print @Name
FETCH NEXT FROM @CursorName INTO @Id,@Name
END
Close @CursorName
Deallocate @CursorName
首先,声明一个临时表来存储我们的数据,其中存储有由Id和Name 组成的信息:
declare @temp table(Id int,Name varchar(20))
然后,声明一个游标对象,对该对象进行设置,传入由select Id,Name from Test组成的SQL语句:
declare @CursorName CURSOR
set @CursorName = CURSOR FOR
select Id,Name from Test
下一步,处理上一步声明的游标对象,使用fetch将游标中的数据一条一条拉出来,并存到声明的变量中:
open @CursorName
FETCH NEXT FROM @CursorName INTO @Id,@Name
之后,写while语句根据需求的操作,如打印出 @id、@UserName,或者放入到另一个表中等:
while @@FETCH_STATUS=0
BEGIN
print ‘Id’
print @Id
print ‘Name’
print @Name
FETCH NEXT FROM @CursorName INTO @Id,@Name
END
最后,关闭游标并释放资源:
Close @CursorName
Deallocate @CursorName
总的来说,mssql中的遍历数据表的操作主要包括:声明一个游标对象,在循环体内执行一段SQL,并在退出循环时,在选定的游标中完成动作。