Récupération de la valeur d'une séquence Oracle sans incrémentation
La récupération de la valeur actuelle d'une séquence Oracle sans l'incrémenter peut être obtenue via l'instruction SELECT avec le colonne last_number à partir des vues de base de données pertinentes.
Pour récupérer la valeur de séquence, suivez ces étapes :
SELECT last_number FROM all_sequences WHERE sequence_owner = '<sequence owner>' AND sequence_name = '<sequence_name>';
SELECT last_number FROM user_sequences WHERE sequence_name = '<sequence_name>';
Remarque : Les vues user_sequences, all_sequences et dba_sequences fournissent diverses séquences métadonnées.
Technique avancée (non recommandée) :
Bien que cela ne soit pas recommandé, il est possible de le faire de manière plus fiable en utilisant une série d'opérations :
SELECT increment_by I FROM user_sequences WHERE sequence_name = 'SEQ';
SELECT seq.nextval S FROM dual;
ALTER SEQUENCE seq INCREMENT BY -1;
SELECT seq.nextval S FROM dual;
ALTER SEQUENCE seq INCREMENT BY 1;
Attention : Cette technique peut provoquer des problèmes si plusieurs utilisateurs accèdent à la séquence simultanément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!