游标¶
PLOSCAR通过游标(CURSOR)来命名一个工作区并访问存放在其中的信息。有两种类型的游标:隐式游标和显式游标。PLOSCAR可以隐含地声明一个游标用于任何SQL数据操纵语句,也可以为返回多行查询显示声明一个游标。
从查询语句返回的行的集合称为结果集。如果不想一次执行整个查询,可以设置一个封装该查询的游标,然后每次读取几行查询结果,这样做的一个原因是在结果集包含数量非常多的行时避免内存耗尽。一个更有趣的用法是某个函数可以返回一个它创建的游标的引用,从而允许调用者读取各行。这就提供了一种从函数返回一个结果集的手段。该类型对应的结果集可作为函数的返回值。
使用PLOSCAR游标,首先要打开游标,然后取出游标中的数据,最后关闭游标。相应的操作命令为OPEN,FETCH,CLOSE。OPEN命令是执行相应的查询语句,把查询结果取到缓冲区中。这时游标处于活动状态,指针指向查询结果集中的第一条记录。FETCH命令把游标指针向前推进一条记录,同时将缓冲区中的当前记录取出来送至主变量供主语言进一步处理。通过循环执行FETCH语句逐条取出结果集中的行进行处理。当不再需要游标时,可以通过CLOSE命令关闭游标,以释放游标所占用的资源。