问一个关于 sql循环判断的有关问题
问一个关于 sql循环判断的问题
首先,我是要从外边的csv文件中 拿数据,所以就使用openrowset来读取,
然后放到一个表变量里面,如 declare @table1 table(id,title,author)
然后想利用循环,遍历这个表,每次拿取表变量的每一条记录,这些记录里面的三个参数(id,title,author)将 作为 我要使用的存储过程的参数
如 exec proc_xxx存储过程 id,title,author
问题是我应该怎么判断啥时候读完这个表,如果这个表变量里面没有id这个字段的,那我又应该怎么判断啥时候结束这个循环。
------解决方案--------------------
首先,我是要从外边的csv文件中 拿数据,所以就使用openrowset来读取,
然后放到一个表变量里面,如 declare @table1 table(id,title,author)
然后想利用循环,遍历这个表,每次拿取表变量的每一条记录,这些记录里面的三个参数(id,title,author)将 作为 我要使用的存储过程的参数
如 exec proc_xxx存储过程 id,title,author
问题是我应该怎么判断啥时候读完这个表,如果这个表变量里面没有id这个字段的,那我又应该怎么判断啥时候结束这个循环。
------解决方案--------------------
- SQL code
DECLARE @id int; DECLARE @title VARCHAR(256),@author VARCHAR(128); SET @id=(SELECT TOP 1 id FROM @table1 ORDER BY id); WHILE @id IS NOT NULL BEGIN SELECT @title=title, @author=author FROM @table1 WHERE id=@id; EXEC proc_xxx @id,@title,@author; SET @id=(SELECT TOP 1 id FROM @table1 WHERE id>@id ORDER BY id); END
------解决方案--------------------
------解决方案--------------------