Curseur Oracle FOR UPDATE
Résumé: dans ce didacticiel, vous apprendrez comment utiliser le curseur modifiable Oracle pour mettre à jour les données dune table.
Introduction à Oracle Cursor FOR UPDATE
Parfois, vous voulez verrouiller un ensemble de lignes avant de pouvoir les mettre à jour dans votre programme. Oracle fournit la clause FOR UPDATE
de linstruction SELECT
dans un curseur modifiable pour effectuer ce type de mécanisme de verrouillage.
Voici la syntaxe pour déclarer un curseur modifiable:
La nouvelle syntaxe ici est les mots-clés FOR UPDATE
.
Une fois le curseur ouvert, Oracle verrouillera toutes les lignes sélectionnées par linstruction SELECT ... FOR UPDATE
dans les tables spécifiées dans FROM
clause. Et ces lignes resteront verrouillées jusquà ce que le curseur soit fermé ou que la transaction soit terminée avec COMMIT
ou ROLLBACK
.
Notez quOracle verrouille toutes les lignes renvoyées par la SELECT ... FOR UPDATE
pendant la mise à jour, par conséquent, vous devez avoir une clause WHERE
pour sélectionner uniquement les lignes nécessaires à verrouiller.
Si vous avez une colonne spécifique que vous souhaitez mettre à jour, vous pouvez la lister dans la clause FOR UPDATE
comme suit:
Dans ce cas, Oracle verrouille uniquement les lignes de la table dont le nom de colonne est répertorié dans la clause FOR UPDATE OF
.
Notez que si vous utilisez uniquement la clause FOR UPDATE
et nincluez pas une ou plusieurs colonnes après le mot-clé OF
, Oracle le fera alors verrouille toutes les lignes sélectionnées dans toutes les tables répertoriées dans la clause FROM
.
Exemple Oracle Cursor FOR UPDATE
Considérez ce qui suit exemple.
Comment ça marche.
- Commencez par déclarer un curseur modifiable qui met à jour les crédits des clients dont les crédits sont supérieurs à zéro.
- Suivant , bouclez sur les lignes dans les curseurs.
- Ensuite, obtenez le nombre de commandes pour chaque client.
- Ensuite, attribuez lincrément de crédit en fonction du nombre de commandes.
- Enfin, mettez à jour le crédit du client.
Dans ce didacticiel, vous avez appris à utiliser le curseur modifiable dOracle pour mettre à jour les données dune table.
- Ce didacticiel vous a-t-il été utile?
- OuiNon