Sequencia?

PostgreSQL

21/09/2012

olá a todos

estou vendo algumas coisas sobre postgre, e tem uma coisa que me deixou em duvida com relação
aos outros bancos, sequencia seria a mesma coisa de chave primaria ou não???
Alan Mario

Alan Mario

Curtidas 0

Respostas

Claudia Nogueira

Claudia Nogueira

21/09/2012

A sequence funciona como uma espécie de auto incremento, no MySQL seria o auto-increment, no Firebird seria o generator. No PostgreSQL você pode criar uma sequence, e em uma tabela colocar como default no campo de chave primária. Assim sempre que inserir registros nessa tabela o campo já recebe o valor incrementado.
Se você criar uma tabela e na hora de criar ela você atribuir o tipo "serial", o próprio PostgreSQL já cria o campo como integer, cria a sequence e já atribui ele ao default do campo.
Exemplo:

CREATE TABLE exemplo (
id serial not null,
nome varchar(100),
primary key (id)
)

Agora se a tabela já estiver criada e você quiser criar uma sequence e ligar ela em um campo, aí você pode fazer assim:

CREATE SEQUENCE exemplo_id_seq;
ALTER TABLE exemplo ALTER COLUMN id SET DEFAULT nextval('exemplo_id_seq'::regclass);
GOSTEI 0
Alan Mario

Alan Mario

21/09/2012

Claudiadnh, então é como se fosse o auto incremento de outros bancos???

obrigado, gostei da forma como vc transmitiu a informação!!!

GOSTEI 0
Claudia Nogueira

Claudia Nogueira

21/09/2012

Claudiadnh, então é como se fosse o auto incremento de outros bancos???

obrigado, gostei da forma como vc transmitiu a informação!!!



Isso mesmo. :)
GOSTEI 0
POSTAR