PLS-00306 Ошибка: как найти неправильный аргумент?

11

PLS-00306: неверный номер или типы аргументов при вызове «строки»

Причина: эта ошибка возникает, когда именованный вызов подпрограммы не может быть сопоставлен ни с каким объявлением для этого имени подпрограммы. Возможно, имя подпрограммы написано с ошибкой, параметр может иметь неправильный тип данных, объявление может быть ошибочным или объявление может быть неправильно размещено в структуре блока. Например, эта ошибка возникает, если встроенная функция квадратного корня SQRT вызывается с ошибочным именем или с параметром неправильного типа данных.

Действие: Проверьте правильность написания и объявления имени подпрограммы. Также подтвердите, что его вызов правильный, его параметры имеют правильный тип данных, и, если это не встроенная функция, то ее объявление правильно размещено в структуре блока.

Как быстро определить неверный аргумент?

У меня есть хранимая процедура с десятками параметров. Есть ли простой способ проверить различия между используемой и определенной процедурой? Я не хочу проверять это построчно ..

Стефан Шильке
источник

Ответы:

11

Нет, здесь действительно нет быстрых клавиш. Изучите вещи в следующем порядке:

  1. Проверьте название процедуры.
  2. Проверьте количество параметров.
  3. Проверьте типы параметров.
  4. Проверьте имена параметров.
Ли Риффель
источник
4
Также проверьте имена параметров, если вы называете их по имени. Это просто застало меня врасплох.
swref
проверка имени параметров - это ключ для меня, спасибо.
Арпит Аггарвал
Это может быть объект типа
Артур