ORA-01403 找不到数据错误
Posted
技术标签:
【中文标题】ORA-01403 找不到数据错误【英文标题】:ORA-01403 no data found error 【发布时间】:2014-05-27 18:09:06 【问题描述】:我有一个返回数据的简单选择查询。
select COL_DES from MY_TABLE where COL_CODE = 'ABC';
但是当我用 in 过程封装它并从我的 C# 代码中调用它时,我得到 ORA-01403 no data found 错误。 这是我正在做的事情:
PROCEDURE GET_DESCRIPTION(
type_code IN VARCHAR2,
type_desc OUT VARCHAR2
)
IS
BEGIN
select COL_DES into type_desc
from LOANIQ.MY_TABLE
where COL_CODE = type_code;
END;
从 C# 代码中,我确实将 type_code 作为“ABC”传递,但我没有得到任何结果。相反,我得到一个 oracle 错误 - ORA-01403 no data found 错误。
comm.Parameters.Add("type_code", OracleDbType.Varchar2, ParameterDirection.Input).Value ="ABC";
comm.Parameters.Add("type_desc", OracleDbType.Varchar2, 1024).Direction = ParameterDirection.Output;
comm.BindByName = true;
comm.ExecuteNonQuery();
对此的任何帮助将不胜感激。
库纳尔
【问题讨论】:
当您使用 SQL 客户端对数据库运行 SQL 时,它是否返回任何数据?当您使用 SELECT INTO 并且查询没有返回任何行时会引发错误。 我已经试过了。不过感谢您的建议! 【参考方案1】:这是我的一个编码错误。 “COL_CODE”列是“CHAR”类型列,用于等同“type_code”的参数是“VARCHAR2”。 一旦我从代码和过程中将“type_code”更改为“CHAR”,它就可以正常工作了。
谢谢, 库纳尔
【讨论】:
以上是关于ORA-01403 找不到数据错误的主要内容,如果未能解决你的问题,请参考以下文章
ORA-01403:未找到数据 ORA-06512:在第 8 行 01403。00000 -“未找到数据”
PL/SQL 中的问题 = 错误堆栈:ORA-01403:Oracle Application Express (APEX) 中没有数据