Hirdetés
- AMD Navi Radeon™ RX 9xxx sorozat
- HiFi műszaki szemmel - sztereó hangrendszerek
- Szerviz topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen billentyűzetet vegyek?
- ThinkPad (NEM IdeaPad)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen notebookot vegyek?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen TV-t vegyek?
Ú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
- Allegro vélemények - tapasztalatok
- Milyen légkondit a lakásba?
- exHWSW - Értünk mindenhez IS
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- Revolut
- One otthoni szolgáltatások (TV, internet, telefon)
- OTP Bank topic
- AMD Navi Radeon™ RX 9xxx sorozat
- HiFi műszaki szemmel - sztereó hangrendszerek
- Szerviz topik
- További aktív témák...
- Samsung Galaxy S25 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S23 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 192SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo ThinkPad X250 - i5-5GEN I 8GB I 128SSD I 12,5" HD I Cam I W10 I Garancia!
- Samsung Bluetooth Mouse Slim egér
- Apple iPhone 15 128 GB Kék 12 hónap Garancia Beszámítás Házhozszállítás
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Xiaomi Redmi Note 13 5G 256GB,Újszerű,Dobozaval,12 hónap garanciával
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


