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