今天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;