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 DESCRIPTIONDEST_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.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük