欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

用游标错误的有关问题 希望有人解决

更新时间: 2014-01-05 02:12:03 责任编辑: Author_N1

 

用游标异常的问题 希望有人解决
oracle scott表中的 emp表 我想通过deptno 来 显示出来 emp表中的 ename 和 sal 异常就是输入 deptno 如果表里面没有就抛异常

代码如下 求指点
  declare 
       cursor emp_cursor (dno number) is 
       select ename,sal from emp where deptno=dno;
       v_ename varchar(10);
       v_sal number(10);
       begin
          open emp_cursor(99);
          loop
            fetch emp_cursor into v_ename,v_sal;
            exit when emp_cursor%notfound;
           dbms_output.put_line(v_ename||v_sal);
           end loop;
           close emp_cursor;
           exception
          when no_data_found then dbms_output.put_line('nodatafound');
           end;

完全就没有抛出异常 ,希望能指条路 ,
最好直接把代码写出来 
--参考方法--
游标没有数据返回不是异常,不会触发EXCEPTION.不过可以通过获取游标记录数来判断

DECLARE
  CURSOR EMP_CURSOR(DNO VARCHAR2) IS
    SELECT T.FND_ID, T.FND_VERS FROM TGP_FUNDS T WHERE T.FND_ID = DNO;
  V_ENAME VARCHAR(10);
  V_SAL   VARCHAR2(10);
BEGIN
  OPEN EMP_CURSOR('MPGF');
  LOOP
    FETCH EMP_CURSOR
      INTO V_ENAME, V_SAL;
    EXIT WHEN EMP_CURSOR%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(V_ENAME 
--参考方法--
 V_SAL);
  END LOOP;
  IF EMP_CURSOR%ROWCOUNT = 0 THEN
    DBMS_OUTPUT.PUT_LINE('nodatafound');
  END IF;
  CLOSE EMP_CURSOR;
END;
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:12:03
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6887/
本文WWW.DOC100.NET DOC100.NET版权所有。