Secuencia de SetVal de Postgres

Secuencia de SetVal de Postgres
Las secuencias PostgreSQL se crean para insertar o actualizar automáticamente valores en llamadas de funciones como las funciones de NextVal, SetVal y CurrVal. En este artículo, discutiremos la función setVal presente en la lista de funciones de secuencia. La función setVal se llama en una secuencia cuando tenemos que cambiar el siguiente valor en la secuencia actual debido a algunas condiciones. La alteración manual en una secuencia lo realiza la función SetVal en PostgreSQL.

Secuencia Funciones en SQL

Cuando usamos una columna en nuestra tabla que tiene valores secuenciales como un número de serie o un número de rollo que se incrementa con un patrón, podemos crear una secuencia para encontrar el problema. En esta secuencia, daremos varias limitaciones de acuerdo con nuestras necesidades. La sintaxis SQL para crear una secuencia es la siguiente:

El nombre de la serie debe escribirse en el comando "Crear secuencia" en la sintaxis anterior. El valor inicial de la secuencia se escribirá en el comando "Inicio con", seguido del valor incremental al comando "Incremento por". Los comandos "MinValue" y "MaxValue" se utilizarán para establecer el valor mínimo o el valor máximo de la secuencia. Explicaremos si la secuencia debe terminar cuando alcance el valor máximo o regresar al valor original en la última línea de la secuencia.

Cuando tenemos que alterar una secuencia en el medio debido a algunas restricciones o errores en el programa, utilizamos varias funciones de secuencia en PostgreSQL. También se les conoce como funciones de manipulación de secuencia. Las funciones asociadas con el concepto de función de secuencia son las siguientes:

  1. Función NextVal.
  2. Función de curval.
  3. Función LastVal.
  4. Función setVal.

En esta guía, hablaremos sobre la función setVal en PostgreSQL.

Setval Secuencia Función de manipulación

La función setVal restablece la variable de contador de secuencia actual que sigue aumentando según las restricciones establecidas por el usuario y le da una verificación de cómo debe proceder la secuencia después de este punto. La función setVal es ajustable a nuestras necesidades y puede tomar diferentes conjuntos de parámetros como el nombre de la secuencia, el siguiente valor que devolvería la función NextVal y la restricción de álgebra booleana de verdadero y falso.

La función setVal se usa típicamente en asociación con el comando "seleccionar", en el que el usuario especifica las restricciones y luego especifica el orden en el que el cambio debe realizarse dentro de la tabla.

La función SetVal manipula el siguiente valor de la función NEXTVAL, ya que toma el valor actual de NextVal como parámetro. Si se determina el tercer parámetro que es el estado del valor que puede ser verdadero o falso, entonces el siguiente valor de NextVal se altera de acuerdo con el estado dado que se compila en el tiempo de ejecución cuando se encuentra la secuencia. Veamos la sintaxis para ejecutar esta función de manipulación en PostgreSQL:

>> seleccione setVal (nombre de la secuencia, siguiente valor de la secuencia, verdadero o falso);

La sintaxis anterior para ejecutar esta función en PostgreSQL también se puede escribir como:

>> seleccione SetVal (nombre de la secuencia, siguiente valor de la secuencia);

Podemos elegir ambas expresiones para ejecutar la función setVal en el entorno PostgreSQL, pero la segunda expresión no toma la verificación booleana como el parámetro y lo convierte en un estado menos refinado de la función.

Ahora que conocemos la sintaxis y el funcionamiento de la función SetVal, analizaremos el propósito central que esta función sirve en el entorno PostgreSQL.

Manipulación de una secuencia por la función setVal

Como discutimos anteriormente el concepto de secuencias y cómo creamos una secuencia. En este caso, crearemos una secuencia primero para comprender y manipular esa secuencia por la función SetVal. Crearemos una secuencia para los números de rollo de estudiantes en una clase escribiendo este código como se muestra en la siguiente instantánea:

Como puede ver en la sintaxis anterior, hemos construido una secuencia llamada "SQ 1" que comienza con el número 001 y se incrementa en una iteración. El valor mínimo para esta secuencia es 0, mientras que el valor máximo es 100. Esta secuencia va en un ciclo, lo que significa que cuando se logra el valor máximo, comenzará nuevamente desde 001, ya que sugeriría que la clase está llena, y el próximo estudiante debe agregarse a otra clase.

Ahora, supongamos que un estudiante cae de una clase después de que la función NextVal inserta sus valores de datos, tendremos que alterar la secuencia para asignar los números de rollo en un orden jerárquico por la función SetVal.

En esta pieza de código, hemos establecido el siguiente valor de la función NextVal en "012" al declararlo como falso. Entonces, los datos del estudiante que ingresaremos después del estudiante de número de rollo "012", que abandonó la clase, obtenemos automáticamente el número de rollo "012" como puede ver en la demostración a continuación:

Puede verificar la salida de la imagen adjunta.

Mientras ejecutamos la consulta de inserción para ingresar un valor en la tabla, la función NextVal dio el valor establecido por la función SetVal en la secuencia SQ_1.

Diferente Formas de usar la función setVal

Si tenemos que garantizar que el último valor de la función NextVal sea verdadero y podemos agregar el otro valor según las restricciones definidas en la secuencia, podemos escribir esta consulta de dos maneras diferentes en el entorno PostgreSQL:

  1. Función SetVal sin el estado booleano.
  2. Función SetVal con el estado booleano.

Setval Función sin el estado booleano

La sintaxis para ejecutar la función SetVal sin el estado booleano se indica a continuación:

>> seleccione SetVal ('SEQ_1', 052);

La salida se puede verificar de la captura de pantalla adjunta.

En la sintaxis anterior, el siguiente valor de la función NEXTVAL se establecerá en "053", lo que significa que se utiliza el valor más nuevo de la función.

Función SetVal con el estado booleano

La función setVal también se puede ejecutar con la función booleana, la declaración para eso es:

>> seleccione SetVal ('SEQ_1', 052, True);

La salida se puede verificar de la captura de pantalla adjunta.

En ambos ejemplos anteriores, el siguiente valor de la función NEXTVAL se establecerá en "053", ya que satisface la restricción de que se utiliza el valor más reciente de la función NextVal. En la salida anterior, cuando insertamos el siguiente valor usando una consulta de inserción con la función NextVal en la secuencia después de 52, dio 53 en la tabla como se muestra arriba.

Conclusión

En este artículo, hemos aprendido sobre el concepto de secuencias. Discutimos por qué usamos estas secuencias en nuestras tablas para generar valores en este artículo. También se discutieron las diferentes funciones de secuencia que se utilizan para alterar las secuencias en PostgreSQL. Una de ellas fue la función setVal que discutimos en una gran prueba en este artículo. También se discutieron los diferentes tipos de usos de esta función. Al final, también observamos cómo funciona esta función en el entorno PostgreSQL con sus diferentes tipos de restricciones dadas en el parámetro.