Oracle数据库select into无结果返回时异常处理

如下写法如果test_menu查不到数据时会出现异常

select t.menu_id,
       t.menu_name 
  into V_MENU_ID,
       V_MENU_NAME
from test_menu t 
     where 1=1 and t.menu_id = :new.menu_id;

使用虚拟表dual,解决oracle触发器、函数、存储等运行过程中取值操作时出现的异常

select a.menu_id,
       a.menu_name
  into V_MENU_ID,
       V_MENU_NAME
  from dual
  left join (select t.menu_id, t.menu_name
                    from test_menu t 
                    where 1=1 and t.menu_id = :new.menu_id) a
  on 1=1;

 


版权声明:本文为m0_37845840原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。