Oracle报错 ORA-01403: 未找到任何数据 ORA-06512: 在 line 6

本文介绍了一段PL/SQL代码中如何处理ORA-01403异常,即未找到任何数据的情况,并展示了如何通过添加异常处理来解决这个问题,确保程序能够正确地为变量赋一个默认值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天PL/SQL编程的时候出现了一个 ORA-01403: 未找到任何数据 ORA-06512: 在 line 6
网上查了一下原因是 select 语句没有返回任何结果,所以没有任何数据能封装进 V_ID,就报错了,这里加一个异常处理,如果异常了就赋一个默认值

DECLARE -- 声明变量
  V_ID        INTEGER := 1000145;
BEGIN
  -- 当没有查询结果的时候赋值会报错
  -- [02000][1403] ORA-01403: 未找到任何数据 ORA-06512: 在 line 6
  SELECT ID INTO V_ID FROM AGENT_CALL_RECORD acr
  WHERE acr.ID = V_ID;
  -- 添加一个异常处理当没有数据的时候赋一个默认值,没有值可以赋值null
  EXCEPTION WHEN NO_DATA_FOUND THEN
  V_ID := NULL;

  IF V_ID IS NOT NULL
  THEN
    INSERT INTO TASK (ID, NAME) VALUES (100000, 'hahaha');
  END IF;
END;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值