www.7671.net > orAClE ClosE Cursor

orAClE ClosE Cursor

这是你的程序出现了逻辑错误,即在一个游标被关了后还要去访问它的数据。如果你一定在在关闭游标后访问它的数据,可以在前面遍历游标时把你要的数据放到变量或数据组中,后面则从变量或数据组取数据。

第一,如果游标以open打开的,则使用close关闭: declare; cursor mycursor is; select * from emp for update; myrecord emp%rowtype; begin open mycursor; loop fetch mycursor into myrecord; exit when mycursor%notfound; if (myrecord....

1、for t_name in (select ...) loop 这个是隐式游标,相当于一个结果集,隐式Cursor由系统自动打开和关闭。 exit when %notfound是配合fetch使用,没有fetch就不需要。 你第一个存储过程可以这样写: create or replace procedure d_1 is begin...

唉,又是大学生吧,自己不动脑筋.发个例子你看看. declare v_num number := &input; v_last_num number := 0; v_result varchar(2000) := ''; begin loop v_last_num := mod(v_num,10); v_result := v_result || to_char(v_last_num); v_num := v_...

输出:定义out类型的参数 游标:申明 cursor cur_a is select ... rt_a cur_a%rowtype; 使用 open cur_a; loop fetch cur_a into rt_a exit when cur_a%notfound -- 进行处理 end loop; close cur_a

把declare去掉是语法问题,你可以看一下create proc的语法,在is/as后面声明的变量是不需要declare的,语法是oracle规定的,不照这样写,它就识别不了

declareCursor Emp_cursor (eno in number)IsSelect EmployeeID,LoginName, Pass, Email from Employee10where EmployeeID=eno;datarecord Emp_cursor%rowtype;beginopen Emp_cursor(1);fetch Emp_cursor into datarecord; while Emp_cursor%fou...

具体错误是什么?对比sys_refcursor和cursor: sys_refcursor 不能用open,close ,fetch 进行操作。不好学,难理解。 cursor 可以用 open,close ,fetch 操作,容易学,易懂 你的%ROWTYPE是通用cursor的定义方式,sys_refcursor是不适用的 建...

无效列名错误,并且说,过程中的open p_cursor for v_sql;这行代码有错误这是一个分页过程,谢谢高手指点迷经,兄弟不胜感谢 大哥你这句

调用存储过程时指定某个特定参数值时使用

网站地图

All rights reserved Powered by www.7671.net

copyright ©right 2010-2021。
www.7671.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com