*数据库系统原理*游标知识补充*数据库系统原理*使用游标的SQL语句必须使用游标的SQL语句查询结果为多条记录的SELECT语句CURRENT形式的UPDATE语句CURRENT形式的DELETE语句*数据库系统原理*一、,*数据库系统原理* EXECSQLDECLARE<游标名>CURSORFOR<SELECT语句>;功能是一条说明性语句,这时DBMS并不立即执行SELECT指定的查询操作。*数据库系统原理*,然后取当前记录使用FETCH语句语句格式EXECSQLFETCH[[NEXT|PRIOR|FIRST|LAST]FROM]<游标名>INTO<主变量>[<指示变量>][,<主变量>[<指示变量>]]...;*数据库系统原理*移动游标指针,然后取当前记录(续)功能指定方向推动游标指针,然后将缓冲区中的当前记录取出来送至主变量供主语言进一步处理。NEXT|PRIOR|FIRST|LAST:指定推动游标指针的方式。NEXT:向前推进一条记录PRIOR:向回退一条记录FIRST:推向第一条记录LAST:推向最后一条记录缺省值为NEXT*数据库系统原理*移动游标指针,然后取当前记录(续)说明(1)主变量必须与SELECT语句中的目标列表达式具有一一对应关系(2)FETCH语句通常用在一个循环结构中,通过循环执行FETCH语句逐条取出结果集中的行进行处理(3)为进一步方便用户处理数据,现在一些关系数据库管理系统对FETCH语句做了扩充,允许用户向任意方向以任意步长移动游标指针*数据库系统原理*<游标名>;功能关闭游标,释放结果集占用的缓冲区及其他资源说明游标被关闭后,就不再和原来的查询结果集相联系被关闭的游标可以再次被打开,与新的查询结果相联系*数据库系统原理*例题例1查询某个系全体学生的信息(学号、姓名、性别和年龄)。要查询的系名由用户在程序运行过程中指定,放在主变量deptname中............EXECSQLINCLUDESQLCA;EXECSQLBEGINDECLARESECTION;....../*说明主变量deptname,HSno,HSname,HSsex,HSage等*/......EXECSQLENDDECLARESECTION;............gets(deptname);/*为主变量deptname赋值*/......
游标演示教学 来自淘豆网www.taodocs.com转载请标明出处.