Chyba się nie rozumiemy. Opiszę to inaczej.
Po pierwsze potrzebujesz użyć czegoś, co spowoduje, że wykonywanie zawiesi się na przez Ciebie określony czas. W ms sql użyłbym
waitfor delay
. Podany prze ze mnie poprzednio parametr tego polecenia powoduje zawieszenie wykonywania na 2 minuty. Jak Twojej bazie, bo jakoś nie chcesz się przyznać, w jakiej, robi się takie zawieszenie, to nie wiem. Jeśli to nie jest ms sql i nie ma w nim waitfor delay
, to może jak przestaniesz się wstydzić i podasz, jakiego silnika bazodanowego używasz, to ktoś inny Ci pomoże.
Po drugie, jak __ja__ rozumiem Twojego preceptora, to masz do zrealizowania trzy zadania (każde wielokrotnie) sprawdzając w nim różne poziomy izolacji. O poziomach izolacji napisał Ci Krwawy Lew. Doczytaj sobie w manualu, ale myślę, że po przeprowadzeniu, a przed opisaniem zaleconych testów.
Po trzecie to za zadanie pierwsze rozumiem to, co jest pomiędzy pierwszą a drugą pozioma kreską, czyli:
```sql
begin transaction; begin transaction;
select * from zespoly;
(A)
update zespoly set
nazwa_zesp=’Igrek’ where nr_zesp = 1;
(B)
select * from zespoly;
rollback; rollback;
i jak widać po lewej jest skrypt pierwszej transakcji, a po prawej drugiej.
Ja przygotowałbym z tego dwa skrypty, pierwszy:
begin transaction;
select * from zespoly;
waitfor delay "00:02";
select * from zespoly;
rollback;
oraz drugi:
begin transaction;
waitfor delay "00:02";
update zespoly set
nazwa_zesp=’Igrek’ where nr_zesp = 1;
rollback;
ustawił pierwszy z sprawdzanych w tym teście poziomów izolacji i uruchomił skrypt pierwszy i, nie czekając aż się skończy, od razu drugi (czyli równoległe wykonanie) i patrzył,l co się dzieje. Potem kolejny poziom izolacji i znowu uruchomienie obu skryptów, potem trzeci i ...
A potem analogicznie kolejne zadania.