加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL – 通过表记录迭代

发布时间:2020-12-12 08:25:33 所属栏目:MsSql教程 来源:网络整理
导读:我已经创建了用户定义的函数,它将逗号分隔的字符串转换为表.我这样执行这个功能: select [String] as 'ID' from dbo.ConvertStringToTable('1,2,3,4') 此查询的结果如下所示: ID--1234 实际上,我想迭代此表中的每一行.但是,我不知道如何做到这一点.有人可以
我已经创建了用户定义的函数,它将逗号分隔的字符串转换为表.我这样执行这个功能:
select [String] as 'ID' from dbo.ConvertStringToTable('1,2,3,4')

此查询的结果如下所示:

ID
--
1
2
3
4

实际上,我想迭代此表中的每一行.但是,我不知道如何做到这一点.有人可以向我展示一些示例SQL如何遍历表的行?

解决方法

在SQL SERVER 2000/05/08中,您可以使用如下所示的Cursor.

但是,在您下移光标路径之前,您应该首先查看SQL Server中与游标相关的问题.

DECLARE @id VARCHAR(10)

DECLARE myCursor CURSOR LOCAL FAST_FORWARD FOR
    SELECT [String] AS 'ID' 
    FROM [dbo].[ConvertStringToTable]('1,4')
OPEN myCursor
FETCH NEXT FROM myCursor INTO @id
WHILE @@FETCH_STATUS = 0 BEGIN
    PRINT @id
    -- do your tasks here

    FETCH NEXT FROM myCursor INTO @id

END

CLOSE myCursor
DEALLOCATE myCursor

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读