游标¶
查询可能是DML语句中最复杂也是最有用的语句。因为我们感兴趣的不只是事务处理成功与否,还关心其结果(一个由若干行和若干列组成的表),所以用户还需要附加编码来取得查询结果。最简单的情况:当一个查询只返回一行时,它可以像上一章中的简单程序那样编码。不过更经常的情况是一个查询要返回若干行,即结果表中可能有若干个元组。如果结果返回多于一行,那么我们可以用宿主数组变量或者用游标来取得结果表中的多个元组。前者在第5章已经做了详细描述。本章主要介绍游标的使用。
当查询返回多行时,用户对关联该查询的游标,可以按照预定的几种方式在返回的结果表中移动游标,并且对游标当前指向的行进行处理。
游标可以用两种形式关联一个查询语句,第一种是一般的关联方式,直接在DECLARE <游标名> CURSOR FOR后面加上查询语句;第二种是动态SQL方式,关联一个已经准备好的查询语句。本章主要讨论第一种形式,第二种形式请参见 动态SQL语句 。