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.
1 2 3 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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%.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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ę 😀
:)))))))))))))