Actualizări bazate pe interogări
8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Diverse | PL / SQL | SQL | RAC | WebLogic | Linux
Acasă „Articole” Diverse „Aici
Acest articol descrie modul în care un tabel poate fi actualizat folosind datele dintr-un alt tabel.
- Configurare
- Metodă de interogare
- Metodă de vizualizare în linie
- Metodă de declarație MERGE
Articole conexe.
- Instrucțiune MERGE
Configurare
Tabelul DEST_TAB
conține 10.000 de rânduri. conține 5.000 de rânduri, fiecare dintre ele având o valoare cheie potrivită cu un rând din tabelul DEST_TAB
, dar date diferite în CODE
și DESCRIPTION
coloane.
În acest moment nu putem vedea niciuna dintre valorile din DESCRIPTION
coloana din tabelul DEST_TAB
conține cuvântul „Actualizat”.
SELECT COUNT(*)FROM dest_tabWHERE description LIKE "Updated%"; COUNT(*)---------- 0SQL>
Scopul este de a actualiza rânduri din tabelul DEST_TAB
cu datele din tabelul SOURCE_TAB
.
Metoda de interogare
T prima opțiune este să faceți o actualizare a tabelului DEST_TAB
folosind o subconsultare pentru a extrage datele corecte din tabelul SOURCE_TAB
. Observați predicatul EXISTS
pentru a exclude rândurile din tabelul DEST_TAB
fără niciun rând din SOURCE_TAB
masă. Fără aceasta, rândurile neegalate vor avea valorile setate la NULL.
Planul de execuție pentru volumul de date curent este prezentat mai jos.
Dacă volumul de lucru este suficient de mare și serverul poate faceți față volumului de lucru suplimentar, PARALLEL
indiciu poate fi folosit pentru a face acest lucru în paralel.
Metodă de vizualizare în linie
este să alăturați cele două tabele ca o vizualizare în linie și să bazați actualizarea pe aceasta.
Planul de execuție pentru volumul de date curent este prezentat mai jos.
Dacă volumul de lucru este suficient de mare și serverul poate face față sarcinii de lucru suplimentare, PARALLEL
indiciu poate fi folosit pentru a face acest lucru în paralel.
Numărul de rânduri actualizate poate fi modificat prin adăugarea o WHERE
clauză fie pentru vizualizarea în linie, fie pentru declarația principală de actualizare.
- Declarație MERGE
Sper că acest lucru ajută. Cu respect Tim …
Înapoi la început.