Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Question: Show reservation details: Input the reservation ID and print all infor

ID: 3918805 • Letter: Q

Question

Question: Show reservation details: Input the reservation ID and print all information about this reservation.

I am able to get the procedure to compile, but I keep getting errors with my execute statement. Here is what I have so far:

set serveroutput on
CREATE OR REPLACE PROCEDURE Reserv_Detail (input_id IN number) AS
v_reservation_ID Reservation.reservation_id%type;
v_hotel_ID Reservation.hotel_id%type;
g_ID Reservation.g_id%type;
v_date_reserv_made Reservation.date_reserv_made%type;
v_discount_type Reservation.discount_type%type;
v_reserv_start Reservation.reserv_start%type;
v_reserv_end Reservation.reserv_end%type;
v_room_number Reservation.room_number%type;
BEGIN
SELECT reservation_ID, hotel_ID, g_ID, date_reserv_made, discount_type,
reserv_start, reserv_end, room_number
INTO v_reservation_ID , v_hotel_ID , g_ID , v_date_reserv_made , v_discount_type ,
v_reserv_start , v_reserv_end , v_room_number
FROM reservation
WHERE reservation_id=input_id;
dbms_output.put_line('Reservation id: ' || ' ' ||v_reservation_ID || ' ' ||
'Hotel ID:' || ' ' || v_hotel_ID || ' ' ||
'Guest ID:' || ' ' || g_ID || ' ' ||
'Date Reservation Made:' || ' ' || v_date_reserv_made || ' ' ||
'Discount type:' || ' ' || v_discount_type || ' ' ||
'Reservation start date:' || ' '|| v_reserv_start || ' ' ||
'Reservation end date:' || ' ' || v_reserv_end || ' ' ||
'Room number:' || ' ' || v_room_number);
END;

EXECUTE Reserv_Detail('DHD923', 2756, 197, to_date('02-JUN-18', 'DD-MON-YY'), 'seasonal', to_date('01-AUG-18', 'DD-MON-YY'),
to_date('14-AUG-18', 'DD-MON-YY' ), '212B');

Explanation / Answer

Reserv_Details Procedure accepts only one argument...

CREATE OR REPLACE PROCEDURE Reserv_Detail (input_id IN number)

but here you passed entire row, it is invalid...

EXECUTE Reserv_Detail('DHD923', 2756, 197, to_date('02-JUN-18', 'DD-MON-YY'), 'seasonal', to_date('01-AUG-18', 'DD-MON-YY'), to_date('14-AUG-18', 'DD-MON-YY' ), '212B');

You can execute procedure by by passing input_id i.e., reservation ID only

EXECUTE Reserv_Detail('DHD923'); // It will print the entire row of DHD923, which is in dbms.output.put_line

i.e.,

dbms_output.put_line('Reservation id: ' || ' ' ||v_reservation_ID || ' ' ||
'Hotel ID:' || ' ' || v_hotel_ID || ' ' ||
'Guest ID:' || ' ' || g_ID || ' ' ||
'Date Reservation Made:' || ' ' || v_date_reserv_made || ' ' ||
'Discount type:' || ' ' || v_discount_type || ' ' ||
'Reservation start date:' || ' '|| v_reserv_start || ' ' ||
'Reservation end date:' || ' ' || v_reserv_end || ' ' ||
'Room number:' || ' ' || v_room_number);

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote