31 lines
1.0 KiB
SQL
31 lines
1.0 KiB
SQL
-- available bookings - task 3
|
|
-- changes:
|
|
-- changed BookingDate (Reserved) data type from date to datetime, because I assumed that Little Lemon
|
|
-- allows wants bookings per day and table - a table is considered blocked for 2 hours
|
|
-- added CustomerID and EmployeeID input parameters
|
|
-- noqa: disable=CP03,LT02,RF03
|
|
--
|
|
create procedure AddValidBooking (
|
|
in Reserved datetime, in TableNumber int, in CustomerID int, in EmployeeID int
|
|
)
|
|
begin
|
|
start transaction;
|
|
|
|
if TableIsFree(Reserved, TableNumber) then
|
|
insert into Bookings (Reserved, TableNumber, CustomerID, EmployeeID) values (
|
|
Reserved, TableNumber, CustomerID, EmployeeID
|
|
);
|
|
commit;
|
|
select concat(
|
|
"Table ", TableNumber,
|
|
" was free - booking accepted (BookingID=", (select last_insert_id()), ')'
|
|
) as BookingStatus;
|
|
else
|
|
rollback;
|
|
select concat(
|
|
"Table ", TableNumber,
|
|
" is already booked - booking cancelled"
|
|
) as BookingStatus;
|
|
end if;
|
|
end
|