Sequences: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
| (Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
| Linha 1: | Linha 1: | ||
''Atenção: Esse conceito foi implementado a partir da versão 12.0 de 2014 do SQL Server'' | |||
Em bancos de dados, uma sequência (ou sequence) é um objeto que gera valores numéricos sequenciais. Ela é frequentemente usada para gerar chaves primárias únicas para tabelas ou para fornecer valores sequenciais em colunas específicas. | Em bancos de dados, uma sequência (ou sequence) é um objeto que gera valores numéricos sequenciais. Ela é frequentemente usada para gerar chaves primárias únicas para tabelas ou para fornecer valores sequenciais em colunas específicas. | ||
| Linha 10: | Linha 12: | ||
* Criação da sequência | * Criação da sequência | ||
'''CREATE SEQUENCE minha_sequencia | ** '''CREATE SEQUENCE minha_sequencia | ||
'''START WITH 1 -- Valor inicial | ** '''START WITH 1 -- Valor inicial | ||
'''INCREMENT BY 1 -- Valor de incremento | ** '''INCREMENT BY 1 -- Valor de incremento | ||
'''MAXVALUE 100 -- Valor máximo | ** '''MAXVALUE 100 -- Valor máximo | ||
* Uso da sequência para gerar valores | * Uso da sequência para gerar valores | ||
'''INSERT INTO minha_tabela (id, nome) VALUES (NEXT VALUE FOR minha_sequencia, 'Exemplo 1') | ** '''INSERT INTO minha_tabela (id, nome) VALUES (NEXT VALUE FOR minha_sequencia, 'Exemplo 1') | ||
'''INSERT INTO minha_tabela (id, nome) VALUES (NEXT VALUE FOR minha_sequencia, 'Exemplo 2') | ** '''INSERT INTO minha_tabela (id, nome) VALUES (NEXT VALUE FOR minha_sequencia, 'Exemplo 2') | ||
Nesse exemplo, uma sequência chamada "minha_sequencia" é criada com um valor inicial de 1, incremento de 1 e um valor máximo de 100. Em seguida, a sequência é usada para gerar valores para a coluna "id" durante a inserção de registros na tabela "minha_tabela". | Nesse exemplo, uma sequência chamada "minha_sequencia" é criada com um valor inicial de 1, incremento de 1 e um valor máximo de 100. Em seguida, a sequência é usada para gerar valores para a coluna "id" durante a inserção de registros na tabela "minha_tabela". | ||
Assim, cada vez que a cláusula '''"NEXT VALUE FOR"''' é usada, o banco de dados retorna o próximo valor da sequência, que é então usado para preencher a coluna "id" na inserção. Dessa forma, você obtém valores sequenciais e exclusivos gerados pela sequência. | Assim, cada vez que a cláusula '''"NEXT VALUE FOR"''' é usada, o banco de dados retorna o próximo valor da sequência, que é então usado para preencher a coluna "id" na inserção. Dessa forma, você obtém valores sequenciais e exclusivos gerados pela sequência. | ||
Edição atual tal como às 07h35min de 13 de junho de 2023
Atenção: Esse conceito foi implementado a partir da versão 12.0 de 2014 do SQL Server
Em bancos de dados, uma sequência (ou sequence) é um objeto que gera valores numéricos sequenciais. Ela é frequentemente usada para gerar chaves primárias únicas para tabelas ou para fornecer valores sequenciais em colunas específicas.
Uma sequência é independente de tabelas específicas e pode ser compartilhada por várias tabelas ou colunas em um banco de dados. Ela mantém um valor atual e pode ser incrementada ou decrementada para gerar um próximo valor na sequência. O valor gerado geralmente é usado para preencher uma coluna em uma tabela durante uma operação de inserção.
Normalmente, você pode criar uma sequência com uma determinada configuração, como o valor inicial, o valor de incremento e o valor máximo. Em seguida, você pode recuperar o próximo valor na sequência sempre que precisar.
A principal vantagem de usar sequências é a garantia de que os valores gerados serão exclusivos e sequenciais, mesmo em um ambiente com diversas transações simultâneas, evitando assim conflitos de chave primária. Além disso, as sequências são eficientes e não exigem bloqueio de tabelas durante a geração de valores.
Aqui está um exemplo de criação e uso de uma sequência em SQL:
- Criação da sequência
- CREATE SEQUENCE minha_sequencia
- START WITH 1 -- Valor inicial
- INCREMENT BY 1 -- Valor de incremento
- MAXVALUE 100 -- Valor máximo
- Uso da sequência para gerar valores
- INSERT INTO minha_tabela (id, nome) VALUES (NEXT VALUE FOR minha_sequencia, 'Exemplo 1')
- INSERT INTO minha_tabela (id, nome) VALUES (NEXT VALUE FOR minha_sequencia, 'Exemplo 2')
Nesse exemplo, uma sequência chamada "minha_sequencia" é criada com um valor inicial de 1, incremento de 1 e um valor máximo de 100. Em seguida, a sequência é usada para gerar valores para a coluna "id" durante a inserção de registros na tabela "minha_tabela".
Assim, cada vez que a cláusula "NEXT VALUE FOR" é usada, o banco de dados retorna o próximo valor da sequência, que é então usado para preencher a coluna "id" na inserção. Dessa forma, você obtém valores sequenciais e exclusivos gerados pela sequência.