作为子程序参数的游标变量¶
在子程序之间传递查询结果集时,将游标变量作为子程序的参数使用将会非常有用。 比如,在子程序中打开游标变量,但是在另一子程序中去处理该游标变量; 再比如,在多种语言的应用程序中,PLOSCAR子程序可以使用游标变量将结果集传递 到使用其他语言实现的子程序中。
语法:
exec ::=
参数:
refcursor_name是引用游标类型的变量
说明:
在声明作为子程序形参使用的游标变量时,如果子程序要对游标变量进行打开和赋值操作,那么参数模式必须是IN OUT;如果仅仅只是从游标变量中提取数据或关闭游标,那么参数模型可以是IN或者IN OUT模式。
对于作为形参的游标变量,传入的实参必须和形参相兼容,否则PLOSCAR会抛出相关预定义异常提示。
为了使游标变量能够在不同的PLOSCAR单元中的子程序中传递,将包中的参数定义为REF CURSOR类型。当此类型定义在包中时,多个子程序均可使用。一个子程序可以声明该类型的形式参数,而另一个子程序可以声明该类型的变量,并将它们传递给第一个子程序。