Frissítések a lekérdezések alapján
8i | 9i | 10g | 11g | 12c 13c 18c 19c 21c Egyéb | PL / SQL | SQL | RAC | WebLogic | Linux
Főoldal “Cikkek” Egyéb “itt
Ez a cikk leírja, hogyan lehet egy táblázatot frissíteni egy másik tábla adatainak felhasználásával.
- Beállítás
- Subquery Method
- Inline View Method
- MERGE Statement Method
Kapcsolódó cikkek.
- MERGE utasítás
Beállítás
A DEST_TAB táblázat 10 000 sort tartalmaz. A táblázat 5000 sort tartalmaz, amelyek mindegyikének megegyező kulcsértéke van a DEST_TAB tábla sorával, de a és DESCRIPTION oszlopok.
Ezen a ponton egyik értéket sem láthatjuk a DESCRIPTION A DEST_TAB tábla div> oszlopa a „Frissítve” szót tartalmazza.
SELECT COUNT(*)FROM dest_tabWHERE description LIKE "Updated%"; COUNT(*)---------- 0SQL>
A cél a sorok a DEST_TAB táblázatban a SOURCE_TAB tábla adataival.
Subquery Method
T első lehetősége a DEST_TAB tábla frissítése egy allekérdezés segítségével, hogy a helyes adatokat lehúzza a SOURCE_TAB táblából. Figyelje meg a EXISTS predikátumot, hogy kizárja a sorokat a DEST_TAB táblából, ha nincsenek megfelelő sorok a SOURCE_TAB táblázat. Enélkül a nem egyező sorok értéke NULL lesz.
Az aktuális adatmennyiség végrehajtási terve az alábbiakban látható. megbirkózni az extra terheléssel, a PARALLEL tipp felhasználható ennek a párhuzamos futtatásához.
Inline View Method
A második lehetőség az, hogy csatlakozzon a két táblához inline nézetként, és erre alapozza a frissítést.
Az aktuális adatmennyiség végrehajtási terve az alábbiakban látható.
Ha a munkateher elég nagy, a szerver képes megbirkózni az extra terheléssel, a PARALLEL tipp segítségével fel lehet párhuzamosan futtatni ezt a futtatást.
A frissített sorok száma hozzáadható WHERE záradék az inline nézethez vagy a fő frissítési utasításhoz.
- MERGE utasítás
Remélem, hogy ez segít. Üdvözlettel Tim …
Vissza a tetejére.