WEB开发网
开发学院数据库Oracle Oracle概念:异常和游标 阅读

Oracle概念:异常和游标

 2009-06-09 13:15:38 来源:WEB开发网   
核心提示: Fetch emps into emp;Row := row + 1;Elsif emps%notfound thenExit; ---exit loop, not IFEnd if;End loop;If emps%isopen thenClose emps;End if;End;/显式

Fetch emps into emp;

Row := row + 1;

Elsif emps%notfound then

Exit; ---exit loop, not IF

End if;

End loop;

If emps%isopen then

Close emps;

End if;

End;

/

显式和隐式游标的区别:

尽量使用隐式游标,避免编写附加的游标控制代码(声明,打开,获取,关闭),也不需要声明变量来保存从游标中获取的数据。

REF CURSOR游标:

动态游标,在运行的时候才能确定游标使用的查询。分类:

强类型(限制)REF CURSOR,规定返回类型

弱类型(非限制)REF CURSOR,不规定返回类型,可以获取任何结果集。

TYPE ref_cursor_name IS REF CURSOR [RETURN return_type]

Declare

Type refcur_t is ref cursor;

Type emp_refcur_t is ref cursor return employee%rowtype;

Begin

Null;

End;

/

强类型举例:

declare

--声明记录类型

type emp_job_rec is record(

employee_id number,

employee_name varchar2(50),

job_title varchar2(30)

);

--声明REF CURSOR,返回值为该记录类型

type emp_job_refcur_type is ref cursor

return emp_job_rec;

--定义REF CURSOR游标的变量

emp_refcur emp_job_refcur_type;

emp_job emp_job_rec;

begin

open emp_refcur for

select e.employee_id,

e.first_name || ‘ ’ ||e.last_name “employee_name”,

j.job_title

from employees e, jobs j

where e.job_id = j.job_id and rownum < 11 order by 1;

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 概念 异常

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接