说明:使用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语句容易抛出异常的问题。
本文介绍了一种在Oracle中使用聚合函数MAX结合SELECT...INTO语句的方法,以避免因查询结果不唯一而导致的异常。通过一个具体案例,展示了如何查询特定部门号对应的部门名称,并在未找到对应部门时输出提示信息。
776

被折叠的 条评论
为什么被折叠?



