若是查询超过一个元组,那就不可能一次性给宿主主变量赋值,就须要为查询定义一个游标,它的取值范围就是查询结果关系中的全部元组,取出游标指示的每个元组存放在共享变量中,并由宿主主语言系统进行处理。spa
游标定义:变量
说明一个游标的格式为:EXEC SQL DECALRE <游标名> CUESOR FOR(SELECT 查询块)查询
执行SELECT查询块的结果是一个关系,游标的取值范围就是这个关系上的元组的位置,当移动或者推动游标的时候,游标指向特定的元组。语言
打开游标移动
打开游标的句格式为:EXEC SQL OPEN<游标名>错误
在打开游标的时候,执行与游标相联系的SQL查询语句,将查询结果值置于游标中,游标指向查询结果中的第一个元组系统
取数语句
EXEC SQL FETCH <游标名> INTO <共享变量列表>
本语句有两大做用,首先从结果关系中取出游标当前所指元组的值并存入共享变量,而后把游标推动到下一个元组位置。若是没有元组可读,则置变量SQLSTART为“02000”,标识SQL没有找到所须要的某个元组。
关闭游标
因为取完或取数发生错误等缘由于是再也不使用游标时,应关闭游标。关闭游标的语句格式为:EXEC SQL CLOSE<游标名>
一个游标被关闭以后,就再也不指向关系中的元组了,单能够从新对它进行初始化