当前位置:首页>开发>正文

oracle存储过程中打开游标有几种方法用open直接打开 如何打开和关闭Oracle游标

2023-05-22 23:12:04 互联网 未知 开发

 oracle存储过程中打开游标有几种方法用open直接打开 如何打开和关闭Oracle游标

oracle存储过程中打开游标有几种方法?用open直接打开?

两种方法
1.声明游标时写好SELECT语句,如
CURSOR r_cur1 IS select *** from tableName where 条件
使用时
OPEN r_cur1
LOOP
FETCH *** INTO variable
EXIT WHEN r_cur1%NOTFOUND OR r_cur1%NOTFOUND IS NULL
。。。
2.声明游标
ccc sys_refcursor
使用时
open ccc for select dept_code,dept_name from comm.dept_dict
loop
fetch ccc into aa,bb
exit when ccc%notfound
。。。
end loop
close ccc

如何打开和关闭Oracle游标



--Oracle PL/SQL
declare
   --定义游标
  cursor cur_test is
    select * from emp

  v_emp emp%rowtype

begin
   --打开游标
  open cur_test
  loop
     --获取游标值
    fetch cur_test
      into v_emp
    exit when cur_test%notfound--属性为是否提取数据成功,不成功则TRUE
    dbms_output.put_line(v_emp.empno || _ || v_emp.ename)
  end loop
  --关闭游标
  close cur_test
end

oracle中如何定义一个游标,打开一个游标,并遍历

1.游标定义:
cursor XXXA is
SELECT 语句
XXXB cursorName%rowtype

XXXA: 游标名
XXXB: 游标行数据定义

2. 打开游标:
-- 打开之前最好先关一下,防止上次发生异常没有关掉而引发不必要的异常
IF XXXA%ISOPEN THEN
CLOSE XXXA
END IF

Open XXXA
Loop
Fetch XXXA into XXXB
exit when XXXA%NOTFOUND
... ... 处理逻辑
end loop
close XXXA

oracle游标在哪里有,什么时候用,

游标一般用于返回多行数据。
用处:比如分页。会返回指定的行数对象。
有隐式游标 sql%found sql%NOTFOUND
普通游标
引用游标(用得较多,一般跟程序包,存储过程一起用)

最新文章

随便看看