0

创建以客户 ID 作为参数并显示
他/她的预订的 PLSQL 过程。对于每个预订展示房间号,酒店,开始日期和持续时间

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;
/

有人可以解释我的参数有什么问题吗?运行时出现此错误:

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
4

1 回答 1

5

您的过程需要一个参数(这显然没有错),但您对它的调用(exec emp_project...等)似乎没有提供参数。

尝试这个:

exec emp_project(1);     // or any appropriate value instead of 1
于 2013-10-28T03:09:08.203 回答