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

Ste*_*lke 12 oracle stored-procedures datatypes plsql parameter

PLS-00306: 调用 'string' 时参数的数量或类型错误

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

行动:检查子程序名称的拼写和声明。还要确认它的调用是正确的,它的参数是正确的数据类型,如果它不是一个内置函数,它的声明是否正确地放置在块结构中。

如何快速识别错误的论点?

我有一个包含数十个参数的存储过程。有没有一种简单的方法来检查使用的和定义的程序之间的差异?我不想逐行检查它..

Lei*_*fel 12

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

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

  • 如果按名称调用它们,还要检查参数名称。那只是让我出局。 (4认同)