Oracle CURSOR FOR UPDATE (Italiano)
Riepilogo: in questo tutorial imparerai come utilizzare il cursore Oracle aggiornabile per aggiornare i dati in una tabella.
Introduzione a Oracle Cursor FOR UPDATE
A volte, si desidera bloccare un insieme di righe prima di poterle aggiornare nel programma. Oracle fornisce la FOR UPDATE
clausola dellistruzione SELECT
in un cursore aggiornabile per eseguire questo tipo di meccanismo di blocco.
Di seguito è riportata la sintassi per la dichiarazione di un cursore aggiornabile:
La nuova sintassi qui è le FOR UPDATE
parole chiave.
Una volta aperto il cursore, Oracle bloccherà tutte le righe selezionate dallistruzione SELECT ... FOR UPDATE
nelle tabelle specificate in FROM
clausola. Queste righe rimarranno bloccate fino a quando il cursore non verrà chiuso o la transazione non verrà completata con COMMIT
o ROLLBACK
.
Tieni presente che Oracle blocca tutte le righe restituite da SELECT ... FOR UPDATE
durante laggiornamento, pertanto dovresti avere una clausola WHERE
per selezionare solo le righe necessarie essere bloccato.
Se si dispone di una colonna specifica che si desidera aggiornare, è possibile elencarla nella clausola FOR UPDATE
come segue:
In questo caso, Oracle blocca solo le righe della tabella con il nome della colonna elencato nella clausola FOR UPDATE OF
.
Tieni presente che se utilizzi solo la clausola FOR UPDATE
e non includi una o più colonne dopo la parola chiave OF
, Oracle blocca tutte le righe selezionate in tutte le tabelle elencate nella clausola FROM
.
Esempio di Oracle Cursor FOR UPDATE
Considera quanto segue esempio.
Come funziona.
- Innanzitutto, dichiara un cursore aggiornabile che aggiorna i crediti dei clienti i cui crediti sono maggiori di zero.
- Avanti , scorrere le righe nei cursori.
- Quindi, ottenere il numero di ordini per ogni cliente.
- Successivamente, assegnare lincremento di credito in base al conteggio degli ordini.
- Infine, aggiorna il credito del cliente.
In questo tutorial, hai imparato a utilizzare il cursore aggiornabile Oracle per aggiornare i dati in una tabella.
- Questo tutorial è stato utile?
- SìNo