cursori

CURSORI ESPLICITI – modifica di tabelle

Nel precedente articolo (panoramica sui cursori) abbiamo visto qualche semplice esempio con statement SQL. E’ anche possibile utilizzare i cursori per modifiche a tabelle del database. Se vogliamo utilizzare i cursori espliciti per effettuare update o delete dei dati, abbiamo bisogno di: -dichiarare il cursore con la clausola FOR UPDATE (per evitare modifiche non volute da parte di altri). -utilizzare la clausola WHERE CURRENT OF per modificare le righe interessate dalla FETCH. La clausola FOR UPDATE determina un lock a livello di riga sui dati, in modo da evitare modifiche al dato prima di eseguire lo statement di delete o Continua a leggere

Panoramica sui cursori

Supponiamo di avere un database; Possiamo accedere ai dati tramite una query del tipo: SELECT […colonne…] FROM […tabelle…] WHERE […condizioni…]; Tuttavia, da un programma PL/SQL, non è sufficiente lanciare la query, c’è bisogno di memorizzare i dati da qualche parte per usarli. Ci sono due alternative: 1) se il risultato della query è una singola riga si può usare una variabile con una sintassi di questo tipo: SELECT […colonne …] INTO […variabili…] FROM […tabelle …] WHERE […condizioni …]; 2) se il risultato della query consiste di più righe, c’è bisogno di usare un cursore. Ci sono 2 tipi di cursore: Continua a leggere