有两种方法,:。一个是声明系统光标,一个是声明自定义光标,然后操作是一样的。参数类型是inout或out(1)来声明个人系统光标。(推荐)创建或替换p_temp_procedure(cur_argoutsys_refcursor-method1)beginopencur_argforselect*fromtablenameend,declarecur_callingsys_refcursorbeginp_temp_procedure(cur_calling)被调用。
-所以这个游标在cur_calling循环中有一个rec_next的值...endloopend(2)在头中声明一个swimtable类型,然后调用者声明一个这种类型的游标变量,并将其传递给返回游标的存储过程,即存储过程输出的结果集。这种方法很麻烦。光标类型可以不能像索引表一样使用create或replacetype方法创建,所以它们只能在包中声明,需要使用/来执行。以后的存储过程将识别这种游标类型。(不推荐,但建议通过这种了解和认识。毕竟有意义)——定义全局变量create或replacepackagepkg_package为type_cursorisrefcursortype_recordisrecord(test01varchar2(32),test02varchar2(32),test03varchar2(32))。
end/-创建或替换过程p_temp_procedure(cur_out_argoutpkg_package。type_cursor)是beginopencur_out_argforselect*fromtestend/-calldeclarecur_out_argpkg_package.type_cursorrec_argpkg_package.type_recordbeginp_temp_procedure(cur_out_arg)。
fetchcur_out_arg到rec_argdbms_output.put_line(rec_arg.test01)
dbms_output.put_line(rec_arg.test02)
dbms_output.put_line(rec_arg.t
其实oracle实现自动定时备份比较好的是:oracle中的作业存储过程定时执行,存储过程完成增量备份!!