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

Question: Make a reservation: Input parameters: Hotel, guest’s name, start date,

ID: 3918802 • Letter: Q

Question

Question: Make a reservation: Input parameters: Hotel, guest’s name, start date, end dates, room type, date of reservation, etc. Output: reservation ID (this is called confirmation code in real-life ). NOTE: Only one guest per reservation. However, the same guest can make multiple reservations.

Below is the code I have so far. I can create the sequence and the function, but I can't figure out how to get it to actually execute. Here is what I have so far:

drop sequence reserv_seq;

create sequence reserv_seq

start with 1

increment by 1;

CREATE OR REPLACE FUNCTION new_reserv (hotel_ID in varchar2, g_ID in int,

date_reserv_made in date, discount_type in varchar2, reserv_start in date,

reserv_end in date, room_number in varchar2)

return number IS

reservation_ID number;

BEGIN

reservation_ID := reserv_seq.nextval;

INSERT INTO Reservation(reservation_ID, hotel_ID, g_ID,

date_reserv_made, discount_type, reserv_start, reserv_end, room_number)

VALUES(reservation_ID, hotel_ID, g_ID, date_reserv_made, discount_type,

reserv_start, reserv_end, room_number);

RETURN reservation_ID;

END;

BEGIN

dbms_output.put_line(new_reserv('2847', 128, to_date('12-APR-18', 'DD-MON-YY'),

'contract', to_date('12-APR-18', 'DD-MON-YY'), to_date('12-APR-18', 'DD-MON-YY'), '106B'));

END;

Explanation / Answer

If you have any doubts, please give me comment..

It seems that that you are using PL/SQL.

Here you are created function named as new_reserv with 7 argument to insert the reservation into "Reservation" table, it will return reservation ID

drop sequence reserv_seq;

create sequence reserv_seq

start with 1

increment by 1;

CREATE OR REPLACE FUNCTION new_reserv (hotel_ID in varchar2, g_ID in int,

date_reserv_made in date, discount_type in varchar2, reserv_start in date,

reserv_end in date, room_number in varchar2)

return number IS

reservation_ID number;

BEGIN

reservation_ID := reserv_seq.nextval;

INSERT INTO Reservation(reservation_ID, hotel_ID, g_ID,

date_reserv_made, discount_type, reserv_start, reserv_end, room_number)

VALUES(reservation_ID, hotel_ID, g_ID, date_reserv_made, discount_type,

reserv_start, reserv_end, room_number);

RETURN reservation_ID;

END;

For executing function, you used PL/SQL printintng statement i.e., "dbms_output.put_line". It will print the whatever you return from that function

BEGIN

dbms_output.put_line(new_reserv('2847', 128, to_date('12-APR-18', 'DD-MON-YY'),

'contract', to_date('12-APR-18', 'DD-MON-YY'), to_date('12-APR-18', 'DD-MON-YY'), '106B'));

END;

You can execute this as like DML queries, but you must install PL/SQL.

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