CREATE TABLE Testi (x INTEGER); INSERT INTO Testi (x) VALUES (1);
Tehtäväsi on ilmoittaa, minkä tuloksen SELECT-kyselyt antavat sekä onnistuvatko transaktiot. Transaktio onnistuu, jos kaikki siinä olevat komennot suoritetaan onnistuneesti (eikä tule viestiä Error: database is locked).
SELECT
Error: database is locked
Tehtävä muodostuu viidestä testistä. Saat testistä 2 pistettä, jos tulokset ovat oikein ja olet perustellut tulokset. Tehtävästä voi saada yhteensä 10 pistettä.
BEGIN; SELECT x FROM Testi; BEGIN; UPDATE Testi SET x=2; SELECT x FROM Testi; COMMIT; COMMIT;
Minkä tuloksen 2. transaktion SELECT-kysely antaa?
Onnistuuko 1. transaktio? -- kyllä ei
Onnistuuko 2. transaktio? -- kyllä ei
Miten perustelet yllä olevat tulokset?
BEGIN; SELECT x FROM Testi; UPDATE Testi SET x=2; BEGIN; SELECT x FROM Testi; COMMIT; COMMIT;
BEGIN; UPDATE Testi SET x=2; BEGIN; UPDATE Testi SET x=3; SELECT x FROM Testi; COMMIT; SELECT x FROM Testi; COMMIT;
BEGIN; UPDATE Testi SET x=2; BEGIN; UPDATE Testi SET x=2; SELECT x FROM Testi; COMMIT; SELECT x FROM Testi; COMMIT;
BEGIN; SELECT x FROM Testi; BEGIN; SELECT x FROM Testi; UPDATE Testi SET x=2; COMMIT; UPDATE Testi SET x=3; COMMIT;
The deadline for this task has passed but you can still check your answers