kyselyihin perustuvat päivitykset
8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Muut | PL / SQL | SQL | RAC | WebLogic | Linux
Etusivu ”Artikkelit” Muut ”täällä
Tässä artikkelissa kuvataan, kuinka taulukko voidaan päivittää toisen taulukon tietojen avulla.
- Asetukset
- Alakyselymenetelmä
- Sisäisen näkymän menetelmä
- MERGE-lauseetapa
Aiheeseen liittyvät artikkelit.
- Yhdistä-lause
Asetukset
DEST_TAB
-taulukossa on 10000 riviä. SOURCE_TAB
-taulukko sisältää 5000 riviä, joista jokaisella on vastaava avainarvo taulukon DEST_TAB
rivillä, mutta eri tiedot CODE
ja DESCRIPTION
-sarakkeet.
Tässä vaiheessa emme näe yhtään arvoa sarakkeissa DESCRIPTION
DEST_TAB
-taulukon div> -sarakkeessa on sana Päivitetty.
SELECT COUNT(*)FROM dest_tabWHERE description LIKE "Updated%"; COUNT(*)---------- 0SQL>
Tavoitteena on päivittää DEST_TAB
-taulukon rivit SOURCE_TAB
-taulukon tietojen kanssa.
Alikyselymenetelmä
T ensimmäinen vaihtoehto on päivittää DEST_TAB
-taulukko käyttämällä alikyselyä oikean datan vetämiseksi SOURCE_TAB
-taulukosta. Huomaa, että predikaatti EXISTS
sulkee pois rivit DEST_TAB
-taulukosta, jossa SOURCE_TAB
taulukko. Ilman tätä vastaamattomien rivien arvoksi asetetaan NULL.
Nykyisen tietomäärän toteutussuunnitelma näkyy alla.
Jos työmäärä on riittävän suuri ja palvelin voi selviytymään ylimääräisestä työmäärästä, PARALLEL
-vihjettä voidaan käyttää suorittamaan tämä ajo rinnakkain.
Inline View Method
Toinen vaihtoehto on liittyä kahteen taulukkoon inline-näkymänä ja perustaa päivitys siihen.
Nykyisen tietomäärän toteutussuunnitelma on esitetty alla.
Jos työmäärä on riittävän suuri ja palvelin pystyy selviytymään ylimääräisestä työtaakasta, PARALLEL
-vihjeen avulla voidaan suorittaa tämä ajo rinnakkain.
Päivitettyjen rivien määrää voidaan muuttaa lisäämällä WHERE
-lauseke joko sisäiseen näkymään tai pääpäivityksen käskyyn.
- YHDISTÄ-lause
Toivottavasti tämä auttaa. Terveisin Tim …
Takaisin alkuun.