Sequência do Postgres SetVal

Sequência do Postgres SetVal
As seqüências PostGresql são criadas para inserir ou atualizar automaticamente os valores em chamadas de função como Funções NextVal, SetVal e Currval. Neste artigo, discutiremos a função SetVal presente na lista de funções de sequência. A função SetVal é chamada em uma sequência quando precisamos alterar o próximo valor na sequência atual devido a algumas condições. A alteração manual em uma sequência é feita pela função SetVal no PostgreSQL.

Seqüência Funções no SQL

Quando usamos uma coluna em nossa tabela que possui valores seqüenciais como um número de série ou um número de rolo que incrementa com um padrão, podemos criar uma sequência para encontrar o problema. Nesta sequência, daremos várias restrições de acordo com nossas necessidades. A sintaxe SQL para criar uma sequência é a seguinte:

O nome da série deve ser escrito contra o comando "Criar sequência" na sintaxe acima. O valor inicial da sequência será então gravado no comando "start with", seguido pelo valor incremental para o comando "incremento por". Os comandos "minvalue" e "maxvalue" serão usados ​​para estabelecer o valor mínimo da sequência ou o valor máximo. Explicaremos se a sequência deve terminar quando atingir o valor máximo ou retornar ao valor original na última linha da sequência.

Quando precisamos alterar uma sequência entre algumas restrições ou erros no programa, usamos várias funções de sequência no PostgreSQL. Eles também são chamados de funções de manipulação de sequência. As funções associadas ao conceito de função de sequência são as seguintes:

  1. Função NextVal.
  2. Função currval.
  3. Função LastVal.
  4. Função setval.

Neste guia, estaremos conversando sobre a função SetVal no PostgreSQL.

SetVal Seqüência Função de manipulação

A função SetVal redefine a variável de contador de sequência atual que continua incrementando de acordo com as restrições definidas pelo usuário e dá uma verificação de como a sequência deve prosseguir após este ponto. A função SetVal é ajustável às nossas necessidades e pode levar diferentes conjuntos de parâmetros como o nome da sequência, o próximo valor que a função Nextval retornaria e a restrição de álgebra booleana de verdadeiro e falso.

A função SetVal é normalmente usada em associação com o comando "select", no qual o usuário especifica as restrições e depois especifica a ordem em que a alteração deve ser feita dentro da tabela.

A função SetVal manipula o próximo valor da função NextVal, pois leva o valor atual do NextVal como um parâmetro. Se o terceiro parâmetro que é o estado do valor que pode ser verdadeiro ou falso for determinado, o próximo valor próximo será alterado de acordo com o estado em que é compilado em tempo de execução quando a sequência estiver localizada. Vejamos a sintaxe para executar esta função de manipulação no PostgreSQL:

>> Selecione SetVal (nome da sequência, próximo valor da sequência, verdadeiro ou falso);

A sintaxe acima para executar esta função no PostgreSQL também pode ser escrita como:

>> Selecione SetVal (nome da sequência, próximo valor da sequência);

Podemos escolher ambas.

Agora que conhecemos a sintaxe e o funcionamento da função SetVal, examinaremos o objetivo principal que essa função serve no ambiente PostgreSQL.

Manipulação de uma sequência pela função SetVal

Como discutimos acima do conceito de seqüências e como criamos uma sequência. Nesse caso, criaremos uma sequência primeiro para entender e manipular essa sequência pela função SetVal. Criaremos uma sequência para números de rolo de alunos em uma aula escrevendo este código, como mostrado no instantâneo abaixo:

Como você pode ver na sintaxe acima, construímos uma sequência chamada "sq 1" que começa com o número 001 e é aumentado por um em cada iteração. O valor mínimo para esta sequência é 0, enquanto o valor máximo é 100. Essa sequência ocorre em um ciclo, o que significa que, quando o valor máximo é alcançado, ele começará novamente a partir de 001, pois sugere que a classe está cheia e o próximo aluno deve ser adicionado a outra classe.

Agora, vamos supor que um aluno cai de uma aula após os valores dos dados serem inseridos pela função NextVal, teremos que alterar a sequência para atribuir os números de rolo em uma ordem hierárquica pela função SetVal.

Nesta parte do código, definimos o próximo valor da função NextVal como "012", afirmando -o como falso. Portanto, os dados do aluno que entraremos após o aluno do número de rolos "012", que desistiu da aula, obtemos automaticamente o número do rolo "012", como você pode ver na demonstração abaixo:

Você pode verificar a saída da imagem anexada.

À medida que executamos a consulta Insert para inserir um valor na tabela, a função NextVal deu o valor que foi definido pela função SetVal na sequência SQ_1.

Diferente Maneiras de usar a função SetVal

Se tivermos que garantir que o último valor da função NextVal seja verdadeiro e podemos adicionar o outro valor de acordo com as restrições definidas na sequência, podemos escrever essa consulta de duas maneiras diferentes no ambiente pós -Gresql:

  1. Função setval sem o estado booleano.
  2. Função setval com o estado booleano.

SetVal Função sem o estado booleano

A sintaxe para executar a função SetVal sem o estado booleano é declarada abaixo:

>> selecione setVal ('seq_1', 052);

A saída pode ser verificada na captura de tela anexada.

Na sintaxe acima, o próximo valor da função NextVal será definido como "053", o que significa que o valor mais recente da função é utilizado.

Função setval com o estado booleano

A função SetVal também pode ser executada com a função booleana, a afirmação é:

>> selecione setVal ('seq_1', 052, true);

A saída pode ser verificada na captura de tela anexada.

Nos dois exemplos acima, o próximo valor da função NextVal será definido como "053", pois satisfaz a restrição de que o valor mais recente da função Nextval seja utilizado. Na saída acima, quando inserimos o próximo valor usando uma consulta de inserção com a função NextVal na sequência após 52, deu 53 na tabela, como mostrado acima.

Conclusão

Neste artigo, aprendemos sobre o conceito de seqüências. Discutimos por que usamos essas seqüências em nossas tabelas para gerar valores neste artigo. As diferentes funções de sequência que são usadas para alterar as seqüências no PostgreSQL também foram discutidas. Um deles foi a função SetVal que discutimos em uma grande provação neste artigo. Os diferentes tipos de usos que essa função pode ser utilizada também foram discutidos. No final, também analisamos como essa função funciona no ambiente PostgreSQL com seus diferentes tipos de restrições dadas no parâmetro.