读书人

问一个关于 sql循环判断的有关问题

发布时间: 2012-03-16 16:34:56 作者: rapoo

问一个关于 sql循环判断的问题
首先,我是要从外边的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 NULLBEGIN     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
[解决办法]
探讨
那怎么使用游标啊

[解决办法]
探讨
引用:
那怎么使用游标啊


SQL code
--游标的基本写法
declare @id int,@name varchar(20);
declare cur cursor fast_forward for
select id,name from a;
open cur;
fetch next from cur into @id,@name;
while @@fetch_status=0
begin
--做你要做的事
fetch next from cur into @id,@name;
end
close cur;
deallocate cur;




SQL codeSQL游标原理和使用方法
http://t…

读书人网 >SQL Server

热点推荐