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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *