[英]How to display only the appointment handled by the staff?
I'm trying to create a procedure that display the appointment record that are only handled by specific staff.我正在尝试创建一个程序来显示仅由特定人员处理的约会记录。 However, it is still displaying all of the appointments for this specific staff.
但是,它仍然显示此特定员工的所有约会。 May I know where are my mistake?
我可以知道我的错误在哪里吗?
CREATE OR REPLACE PROCEDURE proc_gen_staff_detail_report(staffID IN NUMBER) IS
CURSOR appointmentDetail IS
SELECT * FROM Appointments WHERE Appointments.staffId = staffID;
v_appointmentID Appointments.id%TYPE;
v_createdAt Appointments.createdAt%TYPE;
v_bookingDateTime Appointments.bookingDateTime%TYPE;
v_petID Appointments.petId%TYPE;
v_roomID Appointments.roomId%TYPE;
BEGIN
OPEN appointmentDetail;
LOOP
FETCH appointmentDetail INTO v_appointmentID, v_createdAt, v_bookingDateTime, v_petID, v_roomID, v_staffID;
EXIT WHEN appointmentDetail%NOTFOUND;
appointmentCount := appointmentCount + 1;
DBMS_OUTPUT.PUT_LINE(RPAD(v_appointmentID, 6, ' ') || ' ' || RPAD(v_createdAt, 30, ' ') || ' ' || RPAD(v_bookingDateTime, 30, ' ')
|| ' ' || RPAD(v_petID, 10, ' ') || ' ' || RPAD(v_roomID, 10, ' '));
END LOOP;
CLOSE appointmentDetail;
END;
/
CREATE OR REPLACE PROCEDURE proc_gen_staff_detail_report(staffID IN NUMBER) IS
CURSOR appointmentDetail IS
SELECT * FROM Appointments WHERE Appointments.staffId = staffID;
Your parameter name is the same as the name of column in the WHERE clause change it to something like您的参数名称与 WHERE 子句中的列名称相同,将其更改为类似
PROCEDURE proc_gen_staff_detail_report(p_staffID IN NUMBER)
...
WHERE Appointments.staffId = p_staffID;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.