ORACLE存储过程中使用SELECT INOT语句避免NO_DATA_FOUND的方法

oracle存储过程中使用了类似如下语句,当查询不到记录时,会触发"数据未发现"异常

SELECT col INTO v_col FROM t_table

来自网络的方法

1)使用MAX函数
SELECT MAX(col) INTO v_col FROM t_table

(2) 使用异常处理
BEGIN
    SELECT col INTO v_col FROM t_table;
    EXCEPTION WHEN NO_DATA_FOUND THEN
      v_col:=0;
END;

 

我的方法,利用了dual是单行单列虚拟表

select b.ID,b.VALUE from dual a
left join T_myTable b on 1=1 and b.NAME='xxxxx'
where ROWNUM=1;

 

posted @ 2021-09-02 11:40  lybingyu  阅读(445)  评论(0编辑  收藏  举报