ITPub博客

首页 > Linux操作系统 > Linux操作系统 > fetch out of sequence

fetch out of sequence

原创 Linux操作系统 作者:Nalternative 时间:2012-02-23 19:05:29 0 删除 编辑
CREATE TABLE plch_employees
(
   employee_id   INTEGER
, last_name     VARCHAR2 (100)
, salary        NUMBER
)
/
BEGIN
   INSERT INTO plch_employees
        VALUES (100, 'Smith', 100000);
   COMMIT;
END;
/
然后我运行如下的代码:
DECLARE
   CURSOR emps_cur
   IS
        SELECT * FROM plch_employees
      ORDER BY employee_id;
   emp_rec   emps_cur%ROWTYPE;
BEGIN
   INSERT INTO plch_employees
        VALUES (200, 'Jones', 1000000); 
   OPEN emps_cur;
   ROLLBACK; 
   LOOP
      FETCH emps_cur INTO emp_rec;
      EXIT WHEN emps_cur%NOTFOUND;
      DBMS_OUTPUT.put_line (emp_rec.last_name);
   END LOOP;
   CLOSE emps_cur;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.put_line ('Error');
END;
/
你将无法再从游标FETCH数据,ORACLE会抛出异常:
ORA-01002: fetch out of sequence
如果你的游标带有FOR UPDATE子句,在打开游标之后你做了提交,那么再试图FETCH时同样会发生这个错误。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25323853/viewspace-717036/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle字符集
请登录后发表评论 登录
全部评论

注册时间:2011-02-09

  • 博文量
    123
  • 访问量
    173665