Oracle CURSOR FOR UPDATE (Svenska)
Sammanfattning: i den här självstudien lär du dig hur du använder den Oracle uppdaterbara markören för att uppdatera data i en tabell.
Introduktion till Oracle Cursor FÖR UPPDATERING
Ibland vill du låsa en rad rader innan du kan uppdatera dem i ditt program. Oracle tillhandahåller FOR UPDATE
-satsen i SELECT
i en uppdaterbar markör för att utföra denna typ av låsmekanism.
Här är syntaxen för att förklara en uppdaterbar markör:
Den nya syntaxen här är FOR UPDATE
nyckelord.
När du öppnar markören låser Oracle alla rader som valts av SELECT ... FOR UPDATE
i tabellerna som anges i FROM
klausul. Och dessa rader kommer att förbli låsta tills markören stängs eller transaktionen slutförs med antingen COMMIT
eller ROLLBACK
.
Observera att Oracle låser alla rader som returneras av SELECT ... FOR UPDATE
under uppdateringen, därför bör du ha en WHERE
-klausul för att bara välja nödvändiga rader att låsa.
Om du har en specifik kolumn som du vill uppdatera kan du lista den i FOR UPDATE
-satsen på följande sätt:
I det här fallet låser Oracle bara rader i tabellen som har kolumnnamnet i FOR UPDATE OF
-satsen.
Observera att om du bara använder FOR UPDATE
och inte inkluderar en eller flera kolumner efter OF
nyckelordet, kommer Oracle då låsa alla markerade rader över alla tabeller som anges i FROM
-satsen.
Oracle Cursor FOR UPDATE-exempel
Tänk på följande exempel.
Hur det fungerar.
- Förklara först en uppdaterbar markör som uppdaterar krediter hos kunder vars krediter är större än noll.
- Nästa , slingra över raderna i markörerna.
- Hämta sedan antalet beställningar för varje kund.
- Därefter tilldelar du kreditökningen baserat på orderantalet.
- Uppdatera slutligen kundens kredit.
I den här självstudien har du lärt dig hur du använder den Oracle uppdaterbara markören för att uppdatera data i en tabell.
- Hjälpte den här handledningen?
- Ja Nej