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


11

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

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

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

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

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

Ответы:


11

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

  1. Проверьте название процедуры.
  2. Проверьте количество параметров.
  3. Проверьте типы параметров.
  4. Проверьте имена параметров.

4
Также проверьте имена параметров, если вы называете их по имени. Это просто застало меня врасплох.
swref

проверка имени параметров - это ключ для меня, спасибо.
Арпит Аггарвал

Это может быть объект типа
Артур
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.