PLS-00306错误:如何找到错误的参数?


11

PLS-00306:“字符串”调用中参数的数量或类型错误

原因:当命名的子程序调用不能与该子程序名称的任何声明匹配时,会发生此错误。子程序名称可能拼写错误,参数可能具有错误的数据类型,声明可能有误,或者声明可能不正确地放置在块结构中。例如,如果使用错误的名称或错误的数据类型参数调用内置平方根函数SQRT,则会发生此错误。

操作:检查子程序名称的拼写和声明。还要确认其调用正确,其参数具有正确的数据类型,并且,如果不是内置函数,则将其声明正确放置在块结构中。

如何快速确定错误的论点?

我有一个带有数十个参数的存储过程。有没有一种简便的方法来检查所用过程与已定义过程之间的差异?我不想逐行检查。

Answers:


11

不,这里真的没有捷径。按以下顺序检查事物:

  1. 检查过程名称。
  2. 检查参数数量。
  3. 检查参数的类型。
  4. 检查参数名称。

4
如果通过名称调用参数名称,则还要检查参数名称。那让我失望了。
swref

对我来说,检查参数名称是关键,谢谢。
Arpit Aggarwal,

可能是对象类型
Arthur
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.