分享

select into 多个值 为空

 tbinspiration 2018-10-11
select into 为空和多个值:
1、异常处理法

select ... into ............;
的地方改写成:
begin 
   select ... into ............;
exception
   when no_data_found then
    .......
end;


2、还有一种方法是利用游标处理
select ... into ............;
这样的语句。比较麻烦,主要是利用游标可以返回%notfound的特性。




3、巧用聚合函数处理
说明:使用select...into语句时,如果查询返回的数据不是1行,就会报no_data_found或者to_many_rows两种异常。


案例:根据部门号,查询部门名称。


处理方法:巧用聚合函数处理


DECLARE


  v_dname dept.dname%TYPE;


BEGIN


   SELECT MAX(dept.dname) INTO v_dname


   FROM dept WHERE deptno=90;


   IF(v_dname IS NULL)THEN


      dbms_output.put_line('此部门不存在!');


   ELSE


      dbms_output.put_line(v_dname);


   END IF;


END;


说明:利用聚合函数一定会返回结果的特点, 避免了使用select...into语句容易抛出异常的问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多