PÄIVITÄ lauseke

Lauseke UPDATE muuttaa määritettyjen sarakkeiden arvoja yhdessä tai useammassa taulukon tai näkymän rivissä. Täydellinen kuvaus UPDATE SQL-käskystä on artikkelissa Oracle Database SQL Reference.

Syntaksi

päivityslauseke :: =

Kuvan kuvaus update_statement.gif

Avainsanan ja parametrin kuvaus

alias

Toinen (yleensä lyhyt) nimi viitatulle taulukolle tai näkymälle, jota käytetään yleensä lausekkeessa WHERE.

sarakkeen_nimi

Päivitettävä sarake (tai yksi sarakkeista). Sen on oltava viitatun taulukon tai näkymän sarakkeen nimi. Sarakkeen nimeä ei voi toistaa column_name -luettelossa. Sarakkeiden nimien ei tarvitse näkyä UPDATE -lausekkeessa samassa järjestyksessä kuin ne näkyvät taulukossa tai näkymässä.

returning_clause

Palauttaa arvot päivitetyiltä riveiltä, jolloin SELECT ei enää tarvitse rivejä myöhemmin. Voit noutaa sarakkeen arvot muuttujiksi tai isäntämuuttujiksi tai kokoelmiksi tai isäntäryhmiksi. Et voi käyttää RETURNING -lauseketta etä- tai rinnakkaispäivityksiin. Jos käsky ei vaikuta mihinkään riviin, RETURNING -lausekkeessa määritettyjen muuttujien arvoja ei ole määritelty. Lisätietoja returning_clause -syntaksista on kohdassa ”PALAUTTAMINEN Lausekkeeseen”.

SET column_name = sql_expression

Tämä lause antaa arvon sql_expression sarakkeeseen, jonka tunnistaa column_name. Jos sql_expression sisältää viittauksia päivitettävän taulukon sarakkeisiin, viitteet ratkaistaan nykyisen rivin yhteydessä. Vanhoja sarakearvoja käytetään yhtäläisyysmerkin oikealla puolella.

SET sarakkeen_nimi = (alikysely3)

Määrittää sarakkeeseen, jonka tunnistaa column_name. Alakyselyn on palautettava täsmälleen yksi rivi ja yksi sarake.

SET (sarakkeen_nimi, sarakkeen_nimi, …) = (alikysely4)

Määrittää subquery4 column_name -luettelon sarakkeisiin. Alakyselyn on palautettava täsmälleen yksi rivi, joka sisältää kaikki luetellut sarakkeet. Alakyselyn palauttamat sarakearvot määritetään sarakeluettelon sarakkeisiin järjestyksessä. Ensimmäinen arvo määritetään luettelon ensimmäiseen sarakkeeseen, toinen arvo määritetään luettelon toiseen sarakkeeseen ja niin edelleen.

sql_expression

Kaikki kelvolliset SQL-lausekkeet. Lisätietoja on ohjeaiheessa Oracle Database SQL Reference.

alikysely

SELECT -käsky, joka tarjoaa joukon rivejä käsittelyä varten. Sen syntakse on kuin select_into_statement -sanaksen ilman lauseketta INTO. Katso ”SELECT INTO -lauseke”.

table_reference

Taulukko tai näkymä, jonka on oltava käytettävissä, kun suoritat UPDATE -lauseketta, ja joilla sinulla on oltava UPDATE -oikeudet. table_reference -syntaksi on kohdassa ”POISTA lause”.

TAULUKKO (alakysely2)

on SELECT -lauseke, joka palauttaa yhden sarakkeen arvon, jonka on oltava sisäkkäinen taulukko tai varray. Operaattori TABLE ilmoittaa Oraclelle, että arvo on kokoelma, ei skalaariarvo.

MIKSI kursorin_nimen nykyinen

Viittaa viimeisimpään riviin käsittelee määritettyyn kohdistimeen liittyvä käsky FETCH. Kohdistimen on oltava FOR UPDATE ja sen on oltava avoin ja sijoitettu riville. Jos kohdistin ei ole auki, lauseke CURRENT OF aiheuttaa virheen. Jos kohdistin on auki, mutta rivejä ei ole haettu tai viimeinen haku ei palannut rivejä, PL / SQL nostaa ennalta määritetyn poikkeuksen NO_DATA_FOUND.

WHERE search_condition

Valitsee päivitettävät rivit tietokantataulukossa. Vain rivit, jotka täyttävät hakuehdon, päivitetään. Jos jätät tämän lauseen pois, kaikki taulukon rivit päivitetään.

Käyttöhuomautukset

Voit käyttää UPDATE WHERE CURRENT OF -lauseke avoimen kohdistimen haun jälkeen (mukaan lukien kohdistimen tekemät noutot FOR -silmukka), jos siihen liittyvä kysely on FOR UPDATE. Tämä lause päivittää juuri haetun rivin.

implisiittinen kohdistin SQL ja kohdistinattribuutit %NOTFOUND, %FOUND, %ROWCOUNT ja %ISOPEN avulla voit käyttää hyödyllistä tietoa UPDATE -lauseke.

Esimerkkejä

Esimerkki 13-7 luo taulukon, jossa on oikeat työntekijätunnukset, mutta väärät nimet. Sitten se suorittaa UPDATE -lausekkeen vastaavalla kyselyllä oikeiden nimien hakemiseksi EMPLOYEES -taulukosta ja korjata nimet uudessa taulukossa .

Esimerkkejä, katso seuraava:

Esimerkki 1-12, ”Tallennetun alaohjelman luominen”
Esimerkki 4-1, ”Yksinkertaisen IF-THEN-lauseen käyttäminen”
Esimerkki 5-51, ”Rivin päivittäminen tietueen avulla”
Esimerkki 5-52, ”Palautuslausekkeen käyttäminen tietueen kanssa”
Esimerkki 6-1, ”Tietojen käsittely PL / SQL: n kanssa”
Esimerkki 6-5, ”CURRVALin ja NEXTVALin käyttäminen”
Esimerkki 6-6, ”ROWNUMin käyttäminen”
Esimerkki 6-38, ”SAVEPOINTin käyttö ROLLBACKin kanssa”
Esimerkki 6-41, ”CURRENTin käyttö OF viimeisimmän kohdistimesta haetun rivin päivittämiseksi ”
Esimerkki 7-1,” Esimerkkejä dynaamisesta SQL: stä ”
Esimerkki 7-5,” Dynaaminen SQL ja palautuslokero kerää lausekkeeseen ”
Esimerkki 7-6 , ”Dynaaminen SQL Inside FORALL -lauseke” – Esimerkki 11-6, ”Palautusten käyttö FORALL-sovelluksen kanssa”
Esimerkki 11-9, ”Joukkotoiminta, joka jatkuu poikkeuksista huolimatta”

Aiheeseen liittyviä aiheita

”Data Manipulation”
”DELETE Statement”
”FETCH Statement”
”INSERT Statement”

Vastaa

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