在数据库中使用游标返回数据集,
begin
open myCursor for
  select * from t ;
 EXCEPTION
  WHEN NO_DATA_FOUND THEN
  ...
END IF;
当查询不到数据时,给出异常处理,但是在数据库中查询不到数据也不进入异常处理。
还有一个比较奇怪的现象,在不同的数据中,有个别数据库是可以执行异常的,是不是数据库有什么设置?

解决方案 »

  1.   

    问题已找到 写法有问题,不可采用异常处理。采用myCursor%nowcount 处理。奇怪现象也不存在
      

  2.   

    游标中要加一句
      exit when cursorname%notfound;
      

  3.   

    通过exception来处理Data Not found的方式
    是mysql里的做法Oracle这里有游标的隐形属性,所以不能这样做。
    ==================================================================================== 
    Inthirties关注Oracle数据库 优化,安全,备份,恢复,迁移 如果你需要帮助或想和我一起学习的请联系 
    联系方式QQ:370140387 
    QQ群:  85837884(注明:数据库) 
    电子邮件:[email protected] 
    网站: http://www.inthirties.com