SQL – 通过表记录迭代

我已经创建了用户定义的函数,它将逗号分隔的字符串转换为表.我这样执行这个功能
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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...