存储过程 Select into报错

select travelid   into iFindTravelid
  from t_bluesky_pro_travelpolicy
 where name='(国际)';
报错ORA-01403:未找到数据;
当然,是由于无查询结果导致的,但是我不想要先用select count(*)做一次统计,然后再执行一次select,于是从网上查询解决办法,发现可以使用Exception。我的代码如下:
declare
dname varchar(200);

begin
 -- if (1=1) then
    select name  into dname
     from t_bluesky_pro_travelpolicy
     where travelid='8a861ca73adfa6013f7a165fba1f42';
                             
    EXCEPTION  
    WHEN NO_DATA_FOUND THEN   
    dname := '';    

                           
 --  end if;
             
  end;
发现一旦把if块儿放出来以后,就报以下错误:

存储过程 Select into报错
。百度了很久也没找到问你,后经师傅指点,试着把exception要放在所有代码之后,就执行成功了。

你可能感兴趣的:(select,into)