ORA-01400:无法将NULL插入 ORA-01403:未找到任何数据
(2014-11-19 10:57:44)
标签:
itoracle |
分类: Oracle_Database |
ORA-01400:无法将NULL插入 ORA-01403:未找到任何数据
这是因为select into 的时候返回0行记录导致,可以使用以下方法强制返回1行记录并赋值为0或指定其他值
例如:
select t.name into l_name from tab1 t where 1
<> 1;
上面sql会提示不允许将空值插入或未找到任何数据
处理方法:
SELECT tab.name
INTO l_name
FROM (SELECT t.name NAME
FROM tab1 t
WHERE 1 <> 1
UNION ALL
SELECT COUNT(*) --此处COUNT(*)可以置换为任何自己想要的其他值。
FROM tab1 t
WHERE 1 <> 1
HAVING COUNT(*) < 1) tab;
再如一下一个sql块例子:
DECLARE
l_seg1 VARCHAR2(50);
BEGIN
SELECT tab.seg1
INTO
l_seg1
FROM (SELECT
t.seg1 seg1
FROM cux_seg_tbl t
WHERE 1 <> 1
UNION ALL
SELECT 'Y'
FROM cux_seg_tbl t
WHERE 1 <> 1
HAVING COUNT(*) < 1) tab;
dbms_output.put_line(l_seg1);--输出的是Y
END;
这是因为select into 的时候返回0行记录导致,可以使用以下方法强制返回1行记录并赋值为0或指定其他值
例如:
select t.name into
上面sql会提示不允许将空值插入或未找到任何数据
处理方法:
SELECT tab.name
再如一下一个sql块例子:
DECLARE
BEGIN
END;