日期:2014-05-16  浏览次数:20416 次

数据库的游标的作用是什么,如何编写?

转至

http://hi.baidu.com/enson666/blog/item/3af09b80079839db9023d95f.html

?

游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。主语言是面向记录的,一组主变量一次只能存放一条记录。仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求。嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式。在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?这时我们就会使用游标。

-----------------------------------------------------------

使用游标会降低执行效率,平时尽可能不要用?
declare @column1 varchar(10)?
declare @column2 varchar(10)?
declare cursor1 cursor for select column1, column2 from tablename --声明游标(用select语句,可以通过where等语句限定游标取的结果集)?
open cursor1 --打开游标?
fetch next from cursor1 into @column1, @column2 --取游标的值到变量?
while (@@fetch_status=0) --有记录的话?
begin?
--处理?
fetch next from cursor1 into @column1, @column2 --取下一个?
end?
close cursor1 --关闭游标?
deallocate cursor1 --释放游标数据库的游标的作用是什么,如何编写?