Vos définitions de procédure d'en-tête et de corps ne correspondent pas
Dans l'en-tête, vous avez :
PROCEDURE get_films(fname VARCHAR2);
Alors que dans le corps :
PROCEDURE get_films(fname IN film.title%type,
r_date OUT film.release_date%type, dur OUT film.duration%type)
Vous avez probablement juste besoin de mettre à jour la définition de l'en-tête avec les deux paramètres OUT supplémentaires ?
Pour résumer
- Assurez-vous que la définition de l'en-tête correspond à tous les paramètres de l'implémentation du corps (nombre de paramètres, noms de paramètres, ordre des paramètres et types de paramètres)
- Selon le commentaire d'Alex, ne mélangez pas le type personnalisé (
film.title%type
) avec le type de base (VARCHAR2
). Choisissez l'un ou l'autre.