Duas sequences na mesma tabela

03/03/2005

0

Olá Pessoal,

Estou com uma dúvida e não sei se é possível ou não no postgresql. Posso criar duas sequences na mesma tabela?

Valeu!


Jupedra

Jupedra

Responder

Posts

03/03/2005

Bon Jovi

Pode criar livremente. Mas qual é seu caso exatamente?

Segue exemplo genérico:

CREATE SEQUENCE seq_teste1 MINVALUE 1;
CREATE SEQUENCE seq_teste2 MINVALUE 1;

SELECT nextval(´seq_teste1´) as proximo_seq1;
SELECT nextval(´seq_teste2´) as proximo_seq2;


Responder

03/03/2005

Jupedra

É o seguinte, eu tenho uma tabela onde a chave primária é composta por um tipo, um código e o ano. O tipo pode ser 1 ou 2 e para cada tipo eu tenho que gerar um código sequencial que precisa ser zerado a cada início de ano. Pensei que se eu tivesse dois sequenciais numa tabela, uma para gerar o código do tipo 1 e outra para gerar o código do tipo 2 seria uma solução?

Obrigada.


Responder

04/03/2005

Bon Jovi

Nesse tipo de caso prefiro usar Select Max mesmo. Ou seja:
select coalesce(max(campo_B), 0) + 1 as novo_seq from tabela where campo_A = :campo_A
Onde o campo_B está sendo incrementado a partir do campo_A.


Responder

04/03/2005

Jupedra

Ok, vou tentar assim. Obrigada.


Responder

04/03/2005

Bon Jovi

Ah, e crie índice para cada um desses campos separadamente, senão pode ficar lento qdo a base crescer.


Responder

07/03/2005

Jupedra

Olha só, eu gostaria de saber se tem como criar duas sequences pro mesmo campo numa mesma tabela onde dependendo do caso eu gero uma sequence ou outra?


Responder

07/03/2005

Bon Jovi

Explique melhor seu caso na prática. Como mostrei no primeiro exemplo vc pode criar sequences independente do campo ou tabela, atribuindo o próximo valor retornado da sequence onde desejar.


Responder

08/03/2005

Jupedra

Consegui resolver conforme você me disse, estava fazendo confusões em relação a sequence. Criei duas sequences independentes e gero ela conforme o tipo e atribuo ao código. Esse problema está resolvido. Obrigada.

Juliana.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar