Oracle PL/SQL: PLS-00306: mauvais nombre ou les types d'arguments dans l'appel à "EMP_PROJECT'

Créer PLSQL procédure qui prend un id de client comme un paramètre et montre

sa réservation. Pour chaque réservation de la salle spectacle N', l'hôtel, la date de début et la durée

create or replace procedure emp_project(CustID NUMBER)
is 
cursor ecur
is
select r.RoomNo, r.HotelName, StartDate, Duration
from Room r, Booking b
where r.RoomNo=b.RoomNo
and r.RoomNo = b.CustID;
begin
for erec in ecur loop
dbms_output.put_line(erec. RoomNo ||' '||erec. HotelName ||' '|| erec. Duration);
end loop;
end;
/

Quelqu'un peut-il expliquer Ce qui ne va pas avec mon paramètre?
J'ai cette erreur quand je le lance:

SQL> exec emp_project
BEGIN emp_project; END;

     *ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'EMP_PROJECT'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
  • Voici mes tables si ça peut aider: textdump.net/raw/3315 textdump.net/raw/3316
  • Me semble que vous n'êtes pas vraiment en fournissant un paramètre.
  • Je suis en train de lire un CustID en entrée, est emp_project(CustID NOMBRE) la mauvaise façon de le faire?
  • Votre procédure nécessite un paramètre (apparemment rien de mal à cela), mais que votre appel à elle (exec emp_project... etc.) ne semble pas fournir une. PL/SQL n'est pas mon truc, donc je ne suis pas fournir une réponse, juste une observation.
  • exec emp_project(1) a Fonctionné! Vous avez raison, je m'attendais à une invite de commandes ou de quelque chose, je suis bête.
  • Pourriez-vous présenter que comme une réponse afin que je puisse upvote vous? 😀

InformationsquelleAutor An0rak | 2013-10-28