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

Oracle概念:异常和游标

 2009-06-09 13:15:38 来源:WEB开发网   
核心提示: dbms_output.put_line(‘Employee id ‘|| l_emp.employee_id || ‘ is ‘);dbms_output.put_line(l_emp.first_name || ‘ &lsqu

dbms_output.put_line(‘Employee id ‘|| l_emp.employee_id || ‘ is ‘);

dbms_output.put_line(l_emp.first_name || ‘ ‘ || l_emp.last_name);

end loop;

close emp_cur;

end;

/

隐式游标:

不用明确建立游标变量,分两种:

1. 在PL/SQL中使用DML语言,使用ORACLE提供的名为SQL的隐示游标

2. CURSOR FOR LOOP,用于for loop 语句。

1举例:

declare

begin

update departments set department_name=department_name;

--where 1=2;

dbms_output.put_line(‘update ‘|| sql%rowcount ||’ records’);

end;

/

2举例:

declare

begin

for my_dept_rec in ( select department_name, department_id from departments)

loop

dbms_output.put_line(my_dept_rec.department_id || ‘ : ’ || my_dept_rec.department_name);

end loop;

end;

/

游标属性:

%FOUND:变量最后从游标中获取记录的时候,在结果集中找到了记录。

%NOTFOUND:变量最后从游标中获取记录的时候,在结果集中没有找到记录。

%ROWCOUNT:当前时刻已经从游标中获取的记录数量。

%ISOPEN:是否打开。

Declare

Cursor emps is

Select * from employees where rownum<6 order by 1;

Emp employees%rowtype;

Row number :=1;

Begin

Open emps;

Fetch emps into emp;

Loop

If emps%found then

Dbms_output.put_line(‘Looping over record ‘||row|| ‘ of ‘ || emps%rowcount);

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

Tags:Oracle 概念 异常

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