显式游标


declare
  -- 定义变量 
  row_info varchar2(200);

  -- 定义游标,并指定参数类型
  cursor cur_dept(dept_no number) is
    select * from emp where deptno = dept_no;

  --定义一个游标变量cur_dept_row cur_dept%rowtype,该类型为游标cur_dept中的一行数据类型
  cur_dept_row cur_dept%rowtype;

begin
  -- 打开游标
  open cur_dept(20);
      -- 开始循环
      loop
        -- 将游标值写入到行变量cur_dept_row
        fetch cur_dept
          into cur_dept_row;
        -- 游标里面没有值时退出
        exit when cur_dept%notfound;
      
        -- 对变量值进行处理
        row_info := cur_dept_row.empno || '-' || cur_dept_row.ename || '-' || cur_dept_row.sal;
        dbms_output.put_line(row_info);
      
        -- 退出循环
      end loop;
  -- 关闭游标
  close cur_dept;
end;


你可能感兴趣的:(游标,Cursor,end,loop)