sql >> Databáze >  >> RDS >> Oracle

Oracle Error PLS-00323:podprogram nebo kurzor je deklarován ve specifikaci balíčku a musí být definován v těle balíčku

Vaše definice procedury záhlaví a těla se neshodují s

V záhlaví máte:

PROCEDURE get_films(fname VARCHAR2);

Zatímco v těle:

PROCEDURE get_films(fname IN film.title%type, 
   r_date OUT film.release_date%type, dur OUT film.duration%type)

Pravděpodobně stačí aktualizovat definici záhlaví pomocí dvou dalších parametrů OUT?

Shrnutí

  • Zajistěte, aby definice záhlaví odpovídala všem parametrům implementace těla (počet parametrů, názvy parametrů, pořadí parametrů a typy parametrů)
  • Podle Alexova komentáře nekombinujte a neshodujte vlastní typ (film.title%type ) se základním typem (VARCHAR2 ). Vyberte si jedno nebo druhé.


  1. vytvořte záznam mysql, pokud neexistuje, jinak jej aktualizujte

  2. Vytvořte seznam všech dnů v měsíci a rozdělte hodnotu rovnoměrně na každý den

  3. Dotaz na výpočet součtu vzdálenosti (zeměpisná délka, šířka) v po sobě jdoucích řádcích v Mysql

  4. Krytí Mysql vs kompozitní vs index sloupců