ORA-22054下溢错误

我试图让我的存储过程在Oracle中工作,并且我遇到了一个下溢错误。 我试图从六个不同的表中删除相关信息。 我可以在SQL Developer中单独运行delete语句而不会出错。 当我尝试从我的C#代码隐藏中运行该过程时,我得到一个带有下溢错误的exception。 有什么建议?

这是代码:

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; 

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