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块儿放出来以后,就报以下错误:
。百度了很久也没找到问你,后经师傅指点,试着把exception要放在所有代码之后,就执行成功了。