Oracle MERGE (Suomi)

Yhteenveto: Tässä opetusohjelmassa opit käyttämään Oracle MERGE -lauseketta päivityksen tai lisäyksen suorittamiseen tiedot määritetyn ehdon perusteella.

Johdanto Oracle MERGE -käskyyn

Oracle MERGE -käsky valitsee tiedot yhdestä tai useammasta lähdetaulukosta ja päivittää tai lisää sen kohdetaulukkoon. MERGE -lausekkeen avulla voit määrittää ehdon, jolla määritetään, päivitetäänkö tietoja kohdetaulukkoon vai lisätäänkö siihen tietoja.

Seuraava kuvaa Oraclen syntaksia MERGE -lauseke:

Tarkastellaan lauseketta MERGE yksityiskohtaisesti:

Määritä ensin kohdetaulukko (target_table), jonka haluat päivittää tai lisätä lausekkeeseen INTO.

Toiseksi, määritä tietolähde (source_table), joka päivitetään tai lisätään lausekkeeseen USING.

Kolmanneksi määritä hakuehto, jossa yhdistämistoiminto joko päivittää tai lisää ON -lausekkeen.

Oracle arvioi jokaisen kohdetaulukon rivin hakuehdon:

  • Jos tulos on tosi, Oracle päivittää rivin vastaavilla tiedoilla lähdetaulukosta.
  • Jos tulos on väärä y riviä, sitten Oracle lisää vastaavan rivin lähdetaulukosta kohdetaulukkoon.

Lauseke MERGE on kätevä, kun haluat yhdistää useita INSERT, UPDATE ja DELETE lauseita yhdessä toiminnossa.

Koska MERGE on deterministinen käsky, et voi päivittää samaa kohdetaulukon riviä useita kertoja samassa MERGE -lausekkeessa .

Voit lisätä valinnaisen DELETE WHERE -lausekkeen MATCHED -lausekkeeseen puhdistaaksesi yhdistämistoiminnon jälkeen. Lauseke DELETE poistaa vain kohdetaulukon rivit, jotka vastaavat sekä ON että DELETE WHERE lausekkeet.

Oracle MERGE -edellytykset

MERGE -lausekkeen suorittamiseksi sinulla on oltava INSERT – ja UPDATE -objektioikeudet. Jos käytät lauseketta DELETE, kohdetaulukossa on oltava myös objektin DELETE -oikeus.

Oracle Yhdistä esimerkki

Oletetaan, että meillä on kaksi taulukkoa: members ja member_staging.

Me lisää uusi rivi members -taulukkoon aina, kun meillä on uusi jäsen. Tämän jälkeen members -taulukon tiedot yhdistetään member_staging -taulukon tietoihin.

Seuraavat lauseet luo taulukot members ja member_staging:

Seuraavat INSERT lauseet lisäävät näytetietoja taulukoihin members ja member_staging:

Kun päivitetään tietoja members -taulukko member_staging -taulukkoon, meidän tulisi suorittaa seuraavat toiminnot:

  • Päivitämme rivit jäsenetunnuksilla 1, 3 , 4 ja 6, koska näiden jäsenten sijoitus tai sukunimi näissä taulukoissa on erilainen.
  • Lisätään rivit, joiden jäsenet ovat 7-10, koska nämä rivit ovat members -taulukossa, mutta ei member_staging -taulukossa.

Yhteensä 8 riviä tulisi yhdistää.

Seuraa ing on lauseke MERGE, joka suorittaa kaikki nämä toiminnot yhdessä laukauksessa.

Yhdistämislauseke vertaa kutakin riviä members -taulukko member_staging -taulukon jokaisella rivillä member_id -sarakkeiden arvojen perusteella (katso ON -lauseke yllä).

Jos molempien taulukoiden member_id -sarakkeiden arvot ovat samat, MERGE -lauseke päivittää etunimen, sukunimen ja listan members -taulukosta member_staging -taulukkoon vain, jos ensimmäisen molempien taulukoiden nimi, sukunimi tai sijoitus sarakkeet ovat erilaiset.

Muuten se lisää rivin members taulukosta member_staging taulukko.

Oracle palautti 8 riviä yhdistettynä odotetulla tavalla.

Tässä opetusohjelmassa olet oppinut käyttämään Oracle-sovellusta MERGE -lauseke tietojen päivittämiseksi tai lisäämiseksi määritetyn ehdon perusteella.

  • Oliko tästä opetusohjelmasta hyötyä?
  • KylläEi

Leave a Reply

Vastaa

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