--------------------显式游标

--查询数据

select * from employees;

--定义部分

declare

--声明游标

cursor mycur is select * from employees where employee_id<120;

--定义一个集合变量用于存储某个表的一条记录

rowdata employees%rowtype;

--执行部分

begin

--打开游标

open mycur;

loop

--在循环中用fetch提取记录

fetch mycur into rowdata;

dbms_output.put_line('salary:'||rowdata.salary||'    '||'hire_date:'||rowdata.hire_date||'    '||'first_name:'||rowdata.first_name);

--用%notfound属性检测是否到最后一条记录

exit when mycur%notfound;

end loop;

--提交事务;

commit;

--关闭游标

close mycur;

--异常部分

exception

--有异常则回滚

when others then

rollback;

end;

/

--------------------参数游标

--查询数据

select * from employees where salary<=10000;

--定义部分

declare

--定义游标;注意:参数类型(input_salary)不需要指定精度

cursor mycur(input_salary number) is select * from employees where salary

--定义一个集合变量用于存储�

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐