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.