【发布时间】:2013-10-28 02:07:55
【问题描述】:
创建以客户 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
【问题讨论】:
-
如果有帮助,这里是我的表格:textdump.net/raw/3315textdump.net/raw/3316
-
在我看来你实际上并没有提供参数。
-
我正在尝试读取 CustID 作为输入,是 emp_project(CustID NUMBER) 的错误方法吗?
-
您的过程需要一个参数(这显然没有错),但您对它的调用(
exec emp_project...等)似乎没有提供参数。 PL/SQL 不是我的菜,所以我不提供答案 - 只是观察。 -
exec emp_project(1) 成功了!你是对的,我期待一个提示或什么,我很傻。