【问题标题】:ORA-22054 Underflow ErrorORA-22054 下溢错误
【发布时间】:2009-10-27 15:22:27
【问题描述】:

我正在尝试让我的存储过程在 Oracle 中运行,但遇到了下溢错误。我正在尝试从六个不同的表中删除相关信息。我可以在 SQL Developer 中单独运行删除语句而不会出错。当我尝试从我的 C# 代码隐藏中运行该过程时,我收到一个异常并返回下溢错误。有什么建议吗?

代码如下:

Procedure DeleteProf(i_prof_sk IN NUMBER) IS
BEGIN
  delete from nt_fac where nt_per_sk in (select nt_per_sk from nt_per 
     where nt_prof_sk=i_prof_sk);

  delete from nt_per_fact where nt_per_sk in (select nt_per_sk from nt_per 
     where nt_prof_sk=i_prof_sk);

  delete from nt_per where nt_per_sk in (select nt_per_sk from nt_per 
     where nt_prof_sk=i_prof_sk);

  delete from nt_prof_case where nt_prof_sk=i_prof_sk;

  delete from nt_prof_fact where nt_prof_sk=i_prof_sk;

  delete from nt_prof where nt_prof_sk=i_prof_sk;
END;

【问题讨论】:

  • 我的建议是发布相关的代码部分。

标签: c# sql oracle plsql


【解决方案1】:

假设您可以从 SQL Developer 成功运行存储过程,我的猜测是您为输入参数 i_prof_sk 传递了不正确的值,可能类似于您将 C# 浮点值传递给该过程。如果这没有意义,请发布调用该过程的 C# 代码,包括参数设置。这里的一些 C# 技巧可能会告诉你什么是不正确的。我还添加了 C# 标记,可能会引起其中一个人的注意。

【讨论】:

    猜你喜欢
    • 2013-03-19
    • 2020-03-10
    • 2010-11-22
    • 1970-01-01
    • 2015-08-24
    • 2012-05-17
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多