游标这个名字起的不好。给人感觉是一个指针标示。其实,游标是一个只读的数据集合。我们可以把操作数据库过程中的一些过程性内容放到游标里面,相当于一个草稿纸来使用。游标可以可以控制方向:向前,向后,第一个,最后一个,还有相对寻址。也可设定访问权限。
使用游标的步骤:
1.定义游标。这里只是定义,并不真正的开展工作。主要是定义select语句。
2.打开游标。真正的执行select语句。
3.检索。对于已经填充了数据的游标,可以检索出各个行。
4.关闭游标。释放资源。
1.创建游标
创建游标的语句如下
DECLARE myCursor CURSOR FOR SELECT * FROM myDB
2.使用游标
使用游标的基本思路是遍历游标。
--遍历游标 DECLARE @documentNO VARCHAR(32), @ProjectID VARCHAR(32), @FristClass VARCHAR(50), --对应于 FreeItem1 一级分类 @SecondClass VARCHAR(50), --对应于 FreeItem2 二级分类 @ThirdClass VARCHAR(50), --对应于 FreeItem3 三级分类 @WhetherOS VARCHAR(50), --对应于 FreeItem4 是否是操作系统 @Remark VARCHAR(50), --对应于 FreeItem5 备注 @Comments VARCHAR(50), --对应于 FreeItem11 评论 @OrganizationStructure VARCHAR(50) --对应于 freeItem12 组织结构、第二分类 OPEN myCursor FETCH NEXT FROM myCursor INTO @documentNO,@ProjectID,@FristClass,@SecondClass,@ThirdClass,@WhetherOS,@Remark,@Comments,@OrganizationStructure WHILE @@FETCH_STATUS = 0 BEGIN ------------------------ 工作 ----------------------- FETCH NEXT FROM myCursor INTO @documentNO,@ProjectID,@FristClass,@SecondClass,@ThirdClass,@WhetherOS,@Remark,@Comments,@OrganizationStructure END CLOSE myCursor
3.关闭游标释放资源
CLOSE myCursor DEALLOCATE myCursor