1. Zalogować się do serwera MySQL jako root i sprawdzić, w jakim trybie obsługi transakcji pracuje serwer. Jeśli trzeba, przełączyć serwer w tryb jawnego zatwierdzania transakcji.
SELECT @@AUTOCOMMIT; SET AUTOCOMMIT=0; SELECT @@AUTOCOMMIT;
2. Korzystając z transakcji, sprawdzić, jakie wynagrodzenie mają pracownicy zatrudnieni w latach 90. ubiegłego wieku i pracujący na stanowisku Warehouse Manager, zwiększyć to wynagrodzenie tym pracownikom o 10%, ponownie sprawdzić i zatwierdzić transakcję. Sprawdzić, czy po zatwierdzeniu transakcji dane uległy zmianie.
START TRANSACTION; SELECT CONCAT(last_name, ' ', first_name) AS name, start_date, salary, (salary * 1.1) AS newSalary FROM emp WHERE start_date >= '1990-01-01 00:00:00' AND start_date < '1999-12-31 23:59:59' ORDER BY last_name, first_name; UPDATE emp SET salary = salary * 1.1 WHERE start_date >= '1990-01-01 00:00:00' AND start_date < '1999-12-31 23:59:59'; SELECT CONCAT(last_name, ' ', first_name) AS name, start_date, salary FROM emp WHERE start_date >= '1990-01-01 00:00:00' AND start_date < '1999-12-31 23:59:59' ORDER BY last_name, first_name; COMMIT;
3. Korzystając z transakcji sprawdzić sugerowaną cenę produktu, którego nazwa zaczyna się od Prostar
. Zwiększyć sugerowaną cenę tych produktów o 5%.
START TRANSACTION; SELECT name, suggested_price, (suggested_price * 1.05) as newSugestedPrice FROM product WHERE name LIKE 'Prostar%'; UPDATE product SET suggested_price = suggested_price * 1.05 WHERE name LIKE 'Prostar%'; SELECT name, suggested_price FROM product WHERE name LIKE 'Prostar%'; COMMIT; SELECT name, suggested_price FROM product WHERE name LIKE 'Prostar%';
Czekam na aktualizację 😀
Odśwież stronę 😀
:)))))))))))))