- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Beolvad a Palitba a Galax a VGA-piac nehézségei miatt
- Amlogic S905, S912 processzoros készülékek
- HiFi műszaki szemmel - sztereó hangrendszerek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
Új hozzászólás Aktív témák
-
nyunyu
félisten
válasz
Micsurin
#4804
üzenetére
Egy tranzakcióban futó adatmanipulációs (DML) utasítások (insert, update, merge, delete...) hatását csak az őket futtató DB session látja, amíg a tranzakció nincs commitálva.
Mittudomén, van egy táblád, amiben van 10 rekord.
Nyitsz egy adatbáziskezelő ablakot, amiben kiadsz 5 insertet, meg 3 updateet, majd kiadsz egy select count(*) from tabla;-t, akkor az ott 15-öt fog mutatni.
Közben nyitsz egy másik ablakot, egy ott kiadott select * from tabla; az eredeti állapotot, 10 rekordot fog mutatni, a még nyitva lévő tranzakcióban hozzáadott ötöt, meg az updateek hatását nem!
Ha az első ablakban kiadsz egy commit;-ot (amivel véglegesíted az addig nyitott tranzakcióban futtatott DML utasítások hatását és lezárod a tranzakciót), akkor a második ablakbeli select *-ot újrafuttatva már 15, módosult rekord fog megjelenni.
Ha az első ablakban commit; helyett rollback;-et nyomsz, akkor teljesen eldobódik a nyitott tranzakcióban futtatott DMLek hatása, és visszaáll az eredeti állapotra.
Tehát ha utána kiadnál egy select *-ot, akkor ugyanazt a 10 eredeti rekordot látnád az első ablakban is, mint korábban a kettes ablakban.Adatdefiníciós (DDL) utasítások (pl. tábla létrehozás, eldobás, oszlop hozzáadás, index létrehozás...) mindig önálló tranzakcióban futnak és azonnal commitálódnak, így azok nem vonhatóak vissza kiadás után.
Meg ha jól rémlik, akkor az adott DB sessionben még függőben lévő tranzakciót is commitálják!Savepointokat még nem használtam, de ahogy olvasom arra jó, hogy rollbacknél meg lehessen mondani, hogy ne az egész addigi tranzakciót dobja el, hanem csak a savepoint után futtatott utasításokat.
Lehet, hogy valakik szerint ez jó ötlet, de alapvetően sérti a tranzakciók atomiságát, és jóval nehezebb egy félig lefutott tranzakció által elcseszett adatokat javítani, mint ha eldobnád az egészet a francba, és javítás után elölről újrafuttatnád az egészet.
Új hozzászólás Aktív témák
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Gyúrósok ide!
- GoodSpeed: MacBook egy kis gikszerrel.
- Hogwarts Legacy teszt
- A fociról könnyedén, egy baráti társaságban
- Beolvad a Palitba a Galax a VGA-piac nehézségei miatt
- Kerékpárosok, bringások ide!
- Milyen okostelefont vegyek?
- Parkside szerszám kibeszélő
- Linux kezdőknek
- További aktív témák...
- Eladó PC játékok - sok ritkaság!!!
- Intel Core ULTRA 9 285K +32GB 7600MHz Patriot Viper XTREME 5 DDR5 kit! (Bolti ár: kb 600ezer Ft!)
- 16GB (2x8GB) SK Hynix DDR5 5600MHz SODIMM kit
- Makulátlan,lemezes PS5 Slim 1TB (CFI-2116) eladó/Media Markt garancia 2027.12.10-ig/beszámítás van
- Honor Magic 8 Pro 512Gb (7100 akku + 100w adapter!) fekete - 1 hónapos -
- Asus Zephyrus G16 GAMING Notebook! Ultra 9 185H / RTX 4060 / 32GB 7500MHz / 1TB! BeszámítOK
- (NAGYOBB MENNYISÉG) HASZNÁLT Videokártya, Processzor, Memória, Tárhely
- Retro PCI-E videókártyák
- AKCIÓ! ASUS H81M-A H81 chipset alaplap garanciával hibátlan működéssel
- GigaAKCIÓ! Lenovo ThinkPad P15 Gen 2 Intel i7-11850H 32GB 512GB Nvidia RTX A3000 1 év gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
