PLS-00306 Помилка: як знайти неправильний аргумент?


11

PLS-00306: неправильна кількість або типи аргументів у виклику до 'string'

Причина: Ця помилка виникає, коли названий виклик підпрограми не може бути узгоджений з жодною заявою для цього імені підпрограми. Ім'я підпрограми може бути неправильно написано, параметр може мати неправильний тип даних, декларація може бути несправною або декларація може бути неправильно розміщена в структурі блоку. Наприклад, ця помилка виникає, якщо вбудована квадратна коренева функція SQRT викликається неправильно написаним іменем або параметром неправильного типу даних.

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

Як швидко визначити неправильний аргумент?

У мене зберігається процедура з десятками параметрів. Чи є простий спосіб перевірити відмінності між використовуваною та визначеною процедурою? Я не хочу перевіряти це по черзі.

Відповіді:


11

Ні, тут дійсно немає ярликів. Вивчіть речі в такому порядку:

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

4
Також перевірте назви параметрів, якщо викликаєте їх по імені. Це мене просто вигнало.
swref

перевірка назви параметрів є ключовим для мене, дякую.
Арпіт Аггарвал

Це може бути тип об'єкта
Артур
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.