SELECT INTO 技巧:0 & 1问题
当我们必须从一个表选择数据插入到临时变量,但所选的数据或者存在或者不存在
也就是返回或者0行或者1行
那么该如何有效的避免数据不存在的情况?
下面有几种技巧,希望可以帮到你
方法一:
DECLARE l_sal emp.sal%TYPE; p_empno emp.empno%TYPE := 123; -- Invalid empno numberBEGIN SELECT NVL(MAX(sal), 0) INTO l_sal FROM emp WHERE empno = p_empno HAVING count(1) <= 1; END;/
注释:
这种方法是为了防止因为没有约束而导致表存在多行的情况