这里是和存储过程一起使用,先看完存过程,然后进行看游标。
游标的定义
cursor my_cur is 数组/sql语句
实例:
-- 定义游标变量
cursor my_cur is select empno,sal from emp;
## ```游标使用:
```sql
create or replace procedure pro_cursor
is
v_total_sal number(6):=0; -- 工资和
v_empno number(6); -- 员工编号
v_sal number(6); -- 员工工资
-- 定义游标变量
cursor my_cur is select empno,sal from emp;
begin
-- 打开游标变量
open my_cur;
loop
-- 把游标变量中的值赋值给变量
fetch my_cur into v_empno,v_sal;
-- 当游标没有数据时退出循环
exit when my_cur%NOTFOUND;
dbms_output.put_line(v_empno || ',' || v_sal);
v_total_sal := v_total_sal + nvl(v_sal,0);
end loop;
-- 关闭游标变量
close my_cur;
dbms_output.put_line('总工资:' || v_total_sal);
end pro_cursor;