簡體   English   中英

如何只顯示員工處理的預約?

[英]How to display only the appointment handled by the staff?

我正在嘗試創建一個程序來顯示僅由特定人員處理的約會記錄。 但是,它仍然顯示此特定員工的所有約會。 我可以知道我的錯誤在哪里嗎?

 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; 

您的參數名稱與 WHERE 子句中的列名稱相同,將其更改為類似

PROCEDURE proc_gen_staff_detail_report(p_staffID IN NUMBER)
...
  WHERE Appointments.staffId = p_staffID; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM