Загрузка данных


-- 1. Начинаем транзакцию (меняем статус номера на Занят)
UPDATE Hotel_Rooms SET Is_Free = FALSE WHERE Room_Number = 101;

-- 2. Пытаемся добавить запись о бронировании (гость оплатил)
INSERT INTO Bookings (Booking_ID, Room_Number, Guest_Name, Paid_Amount) 
VALUES (1, 101, 'Иван Иванов', 5000.00);

-- 3. ИМИТАЦИЯ ОШИБКИ (карта не прошла, транзакция сбоит)
-- В этот момент мы понимаем, что бронь не удалась, и делаем ОТКАТ:
ROLLBACK;

-- 1. Меняем статус номера на Занят
UPDATE Hotel_Rooms SET Is_Free = FALSE WHERE Room_Number = 101;

-- 2. Добавляем успешную запись о бронировании
INSERT INTO Bookings (Booking_ID, Room_Number, Guest_Name, Paid_Amount) 
VALUES (2, 101, 'Петр Петров', 7500.00);

-- 3. ФИКСИРУЕМ ИЗМЕНЕНИЯ (COMMIT)
COMMIT;