Séquence Setval Postgres

Séquence Setval Postgres
Les séquences postgresql sont créées pour insérer ou mettre à jour automatiquement les valeurs sur les appels de fonction comme NextVal, SetVal et Currval. Dans cet article, nous discuterons de la fonction setval présente dans la liste des fonctions de séquence. La fonction setVal est appelée dans une séquence lorsque nous devons modifier la valeur suivante dans la séquence actuelle en raison de certaines conditions. L'altération manuelle d'une séquence est effectuée par la fonction setval dans PostgreSQL.

Séquence Fonctions dans SQL

Lorsque nous utilisons une colonne de notre tableau qui a des valeurs séquentielles comme un numéro de série ou un numéro de rouleau qui incrémente avec un motif, nous pouvons créer une séquence pour rencontrer le problème. Dans cette séquence, nous donnerons plusieurs contraintes en fonction de nos besoins. La syntaxe SQL pour créer une séquence est la suivante:

Le nom de la série doit être écrit sur la commande «Create Séquence» dans la syntaxe ci-dessus. La valeur de démarrage de la séquence sera ensuite écrite dans la commande «Start with», suivie de la valeur incrémentielle à la commande «Incrément par». Les commandes «Minvalue» et «MaxValue» seront utilisées pour établir la valeur minimale ou la valeur maximale de la séquence. Nous expliquerons si la séquence devrait se terminer lorsqu'elle atteindra la valeur maximale ou le retour à la valeur d'origine dans la dernière ligne de la séquence.

Lorsque nous devons modifier une séquence entre les deux en raison de certaines contraintes ou erreurs dans le programme, nous utilisons plusieurs fonctions de séquence dans PostgreSQL. Ils sont également appelés les fonctions de manipulation de séquence. Les fonctions associées au concept de fonction de séquence sont les suivantes:

  1. Fonction NextVal.
  2. Fonction currval.
  3. Fonction LastVal.
  4. Fonction setVal.

Dans ce guide, nous parlerons de la fonction Setval dans PostgreSQL.

Setval Séquence Fonction de manipulation

La fonction setVal réinitialise la variable de compteur de séquence actuelle qui maintient l'incrément selon les contraintes définies par l'utilisateur et lui donne un contrôle sur la façon dont la séquence doit se dérouler après ce point. La fonction setVal est réglable à nos besoins et peut prendre différents ensembles de paramètres comme le nom de la séquence, la valeur suivante que la fonction NextVal reviendrait et la contrainte booléenne de l'algèbre de vrai et faux.

La fonction setVal est généralement utilisée en association avec la commande «select», dans laquelle l'utilisateur spécifie les contraintes, puis spécifie l'ordre dans lequel la modification doit être effectuée à l'intérieur du tableau.

La fonction setVal manipule la valeur suivante de la fonction NextVal car il prend la valeur NextVal actuelle en tant que paramètre. Si le troisième paramètre qui est l'état de la valeur qui peut être vrai ou faux est déterminé, alors la valeur suivante suivante est modifiée en fonction de l'état donné qui est compilé au moment de l'exécution lorsque la séquence est située. Regardons la syntaxe pour exécuter cette fonction de manipulation dans PostgreSQL:

>> sélectionnez setVal (nom de la séquence, valeur suivante de la séquence, vrai ou false);

La syntaxe ci-dessus pour exécuter cette fonction dans PostgreSQL peut également être écrite comme:

>> sélectionnez setVal (nom de la séquence, valeur suivante de la séquence);

Nous pouvons choisir ces deux expressions pour exécuter la fonction setVal dans l'environnement postgresql, mais la deuxième expression ne prend pas le chèque booléen comme le paramètre et en fait un état moins raffiné de la fonction.

Maintenant que nous connaissons la syntaxe et le fonctionnement de la fonction Setval, nous examinerons le but central que cette fonction sert dans l'environnement postgresql.

Manipulation d'une séquence par la fonction setval

Comme nous l'avons discuté ci-dessus, le concept de séquences et comment nous créons une séquence. Dans ce cas, nous créerons d'abord une séquence pour comprendre et manipuler cette séquence par la fonction setval. Nous créerons une séquence pour les nombres de rouleaux d'élèves dans une classe en écrivant ce code comme indiqué dans l'instantané ci-dessous:

Comme vous pouvez le voir dans la syntaxe ci-dessus, nous avons construit une séquence appelée «SQ 1» qui commence par le nombre 001 et est augmentée de une à chaque itération. La valeur minimale pour cette séquence est 0 tandis que la valeur maximale est de 100. Cette séquence va dans un cycle qui signifie que lorsque la valeur maximale est atteinte, elle recommencera à partir de 001 car elle suggérerait que la classe est pleine, et l'élève suivant doit être ajouté à une autre classe.

Maintenant, supposons qu'un élève tombe d'une classe après que ses valeurs de données soient insérées par la fonction NextVal, nous devrons modifier la séquence pour attribuer les nombres de rouleaux dans un ordre hiérarchique par la fonction setval.

Dans ce morceau de code, nous avons défini la valeur suivante de la fonction NextVal sur «012» en le déclarant faux. Ainsi, les données de l'élève dans lesquelles nous allons entrer après l'étudiant «012» du numéro de rôle, qui a abandonné la classe, nous obtenons automatiquement le numéro de rouleau «012» comme vous pouvez le voir dans la démonstration ci-dessous:

Vous pouvez vérifier la sortie de l'image annexée.

Au fur et à mesure que nous exécutons la requête d'insertion pour entrer une valeur dans le tableau, la fonction NextVal a donné la valeur définie par la fonction setVal dans la séquence SQ_1.

Différent Façons d'utiliser la fonction setVal

Si nous devons nous assurer que la dernière valeur de la fonction NextVal est vraie et que nous pouvons ajouter l'autre valeur selon les contraintes définies dans la séquence, nous pouvons écrire cette requête de deux manières différentes dans l'environnement postgresql:

  1. Fonction setval sans l'état booléen.
  2. Fonction setval avec l'état booléen.

Setval Fonction sans l'état booléen

La syntaxe pour exécuter la fonction setVal sans l'état booléen est indiquée ci-dessous:

>> sélectionnez setVal ('seq_1', 052);

La sortie peut être vérifiée à partir de la capture d'écran annexée.

Dans la syntaxe ci-dessus, la prochaine valeur de la fonction NextVal sera définie sur «053», ce qui signifie que la valeur la plus récente de la fonction est utilisée.

Fonction setval avec l'état booléen

La fonction setVal peut également être exécutée avec la fonction booléenne, l'instruction pour cela est:

>> sélectionnez setVal ('seq_1', 052, true);

La sortie peut être vérifiée à partir de la capture d'écran annexée.

Dans les deux exemples ci-dessus, la prochaine valeur de la fonction NextVal sera définie sur «053» car elle satisfait la contrainte que la dernière valeur de la fonction NextVal est utilisée. Dans la sortie ci-dessus, lorsque nous avons inséré la valeur suivante à l'aide d'une requête d'insertion avec la fonction NextVal dans la séquence après 52, il a donné 53 dans le tableau comme indiqué ci-dessus.

Conclusion

Dans cet article, nous avons appris le concept de séquences. Nous avons expliqué pourquoi nous utilisons ces séquences dans nos tableaux pour générer des valeurs dans cet article. Les différentes fonctions de séquence qui sont utilisées pour modifier les séquences du postgresql ont également été discutées. L'un d'eux était la fonction Setval dont nous avons discuté dans une grande épreuve dans cet article. Les différents types d'utilisations Cette fonction peut être utilisée a également été discutée. En fin de compte, nous avons également examiné comment cette fonction fonctionne dans l'environnement postgresql avec ses différents types de contraintes données dans le paramètre.