it-swarm-eu.dev

Chyba PLS-00306: Jak najít nesprávný argument?

PLS-00306: nesprávný počet nebo typy argumentů při volání 'řetězec'

Příčina: K této chybě dochází, když pojmenované volání podprogramu nelze přiřadit k žádné deklaraci pro tento název podprogramu. Název podprogramu může být chybně zadán, parametr může mít nesprávný datový typ, prohlášení může být vadné nebo může být prohlášení nesprávně umístěno do struktury bloku. K této chybě například dochází, pokud je předvolená funkce SQRT s pravoúhlým kořenovým názvem volána s chybným názvem nebo s parametrem nesprávného datového typu.

Akce: Zkontrolujte pravopis a deklaraci názvu podprogramu. Potvrďte také, že jeho volání je správné, jeho parametry mají správný datový typ, a pokud se nejedná o vestavěnou funkci, je její deklarace umístěna správně do struktury bloku.

Jak rychle identifikuji špatný argument?

Mám uloženou proceduru s desítkami parametrů. Existuje snadný způsob, jak zkontrolovat rozdíly mezi použitým a definovaným postupem? Nechci to kontrolovat řádek po řádku ..

11
Stephan Schielke

Ne, tady opravdu nejsou žádné zkratky. Prozkoumejte věci v následujícím pořadí:

  1. Zkontrolujte název postupu.
  2. Zkontrolujte počet parametrů.
  3. Zkontrolujte typy parametrů.
  4. Zkontrolujte názvy parametrů.
11
Leigh Riffel