-- TRANSAKCIJA 2.

-- Primjer 1.
-- 2. 
BEGIN TRAN 

-- 4.
SELECT * FROM Proizvod

-- 6.
ROLLBACK TRAN

-- Primjer 2.
-- 2. 
BEGIN TRAN

-- 4.
SELECT * FROM Proizvod WHERE IDProizvod <> 777

-- 6.
ROLLBACK TRAN

-- Primjer 3.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

-- 4. 
BEGIN TRAN

-- 6.
SELECT * FROM Proizvod WHERE IDProizvod = 777 -- Blokiranje.

-- 8.
ROLLBACK TRAN

-- Primjer 4.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

-- 4. 
BEGIN TRAN

-- 6.
SELECT * FROM Proizvod WHERE IDProizvod = 777 -- Prljavo čitanje.

-- 8.
ROLLBACK TRAN

-- Primjer 5.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

-- 4. 
BEGIN TRAN

-- 6.
UPDATE Proizvod -- Blokiranje.
SET CijenaBezPDV *= 1.01
WHERE IDProizvod = 317

-- 8.
ROLLBACK TRAN

-- Primjer 6.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

-- 4. 
BEGIN TRAN

-- 6.
SELECT Naziv FROM Proizvod

INSERT INTO Proizvod (Naziv, BrojProizvoda, Boja, MinimalnaKolicinaNaSkladistu, CijenaBezPDV, PotkategorijaID)
VALUES ('Testni proizvod 1', 'BR0001', 'Ljubičastožuta', 50, 189.99, null)

-- 8.
ROLLBACK TRAN

-- Primjer 7.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

-- 4. 
BEGIN TRAN

-- 6.
SELECT * FROM Drzava WHERE IDDrzava = 1 -- Prljavo čitanje. Rješavamo ga podizanjem izolacijskog nivoa barem na READ COMMITTED.

-- 8.
ROLLBACK TRAN

-- Primjer 8.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

-- 4. 
BEGIN TRAN

-- 6.
UPDATE Drzava SET Naziv = Naziv + ' - promijenjeno' WHERE IDDrzava = 1

-- 7.
COMMIT TRAN

-- Primjer 9.
-- 2.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

-- 4. 
BEGIN TRAN

-- 6.
INSERT INTO Drzava (Naziv) VALUES ('Haiti')

-- 7.
COMMIT TRAN
