SAP Tutorial HANA: Criar sequência
O que é Sequência?
Uma sequência é um objeto de banco de dados que gera automaticamente a lista incrementada de valores numéricos de acordo com a regra especificada na especificação da sequência.
Por exemplo para inserir o número do funcionário automaticamente na coluna (EMPLOYEE_NO) da Tabela, quando um novo registro é inserido na tabela, utilizamos sequência.
Os valores de sequência são gerados em ordem crescente ou decrescente.
As sequências não estão associadas a tabelas; eles são usados pelo aplicativo. Existem dois valores em sequência -
- CURRVAL – Fornece o valor atual da sequência.
- NEXTVAL – Fornece o próximo valor da sequência.
SINTAXE
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
ELEMENTOS DE SINTAXE
| ELEMENTOS | DESCRIÇÃO |
|---|---|
| É o nome da sequência. | |
| [ ] | Especifica um ou mais parâmetros de sequência. |
| COMEÇAR COM | Descreve o valor da sequência inicial. |
| INCREMENTAR POR | Isso especifica o valor a ser incrementado a partir do último valor atribuído para cada vez que um novo valor de sequência for gerado. O padrão é 1. |
| VALOR MÁXIMO | Isso especifica o valor máximo que pode ser gerado pela sequência. pode estar entre -4611686018427387903 e 4611686018427387902. |
| SEM VALOR MÁXIMO | Quando NO MAXVALUE é especificado, para uma sequência ascendente, o valor máximo será 4611686018427387903 e o valor mínimo para uma sequência descendente será -1. |
| MINVALOR / SEM VALOR MIN | Especifica o valor mínimo que uma sequência pode gerar. pode estar entre -4611686018427387904 e 4611686018427387902. Quando NO MINVALUE é usado, o valor mínimo para uma sequência ascendente é 1 |
| CICLO | A diretiva CYCLE especifica que o número de sequência será reiniciado após atingir seu valor máximo ou mínimo. |
| SEM CICLO | Opção padrão. A diretiva NO CYCLE especifica que o número de sequência não será reiniciado após atingir seu valor máximo ou mínimo. |
| CACHE / | O tamanho do cache especifica qual intervalo de números de sequência será armazenado em cache em um nó. deve ser um número inteiro sem sinal. |
| SEM CACHE | Opção padrão. A diretiva NO CACHE especifica que o número de sequência não será armazenado em cache em um nó. |
| REINICIAR POR | Especifica que durante a reinicialização do banco de dados, o banco de dados executa automaticamente o e o valor da sequência é reiniciado com o valor retornado. |
Exemplo -
Criaremos uma sequência chamada DHK_SCHEMA.EMP_NO, que criará um valor incrementado da sequência em +1 cada vez, quando a sequência for usada.
Script de sequência –
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
Aqui usaremos o objeto “sequência” no exemplo abaixo para incrementar o valor do funcionário não em +1 cada vez que a consulta selecionada for executada. Na consulta, o “nextval” pode ser utilizado para geração de número de série ou mesmo tipo de requisito.
Uso da sequência –
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
SAÍDA – 100,101,102………Então, em cada execução da consulta selecionada acima.
