Duas sequences na mesma tabela
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!
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
Curtidas 0
Respostas
Bon Jovi
03/03/2005
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;
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;
GOSTEI 0
Jupedra
03/03/2005
É 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.
Obrigada.
GOSTEI 0
Bon Jovi
03/03/2005
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.
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.
GOSTEI 0
Jupedra
03/03/2005
Ok, vou tentar assim. Obrigada.
GOSTEI 0
Bon Jovi
03/03/2005
Ah, e crie índice para cada um desses campos separadamente, senão pode ficar lento qdo a base crescer.
GOSTEI 0
Jupedra
03/03/2005
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?
GOSTEI 0
Bon Jovi
03/03/2005
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.
GOSTEI 0
Jupedra
03/03/2005
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.
Juliana.
GOSTEI 0