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.