May 18 2007
Auto-Incremento em PostgreSQL
Neste post falarei a respeito de uma das dificuldades em se usar o gerenciador de banco de dados PostgreSQL. Uma das diferenças mais notáveis aos iniciantes no assunto: a falta da propriedade Auto-increment, a qual é largamente usada na criação de chaves primárias.
Para resolver esta falta, seguem abaixo duas formas de simular a mesma propriedade no PostgreSQL:
Para se criar um campo de uma tabela com valores sequenciais(adequado para chaves) existem duas formas. Uma delas leva a outra.
Vamos comecar pela mais simples, criar a sequencia no momento da criaçao da tabela através do tipo SERIAL:
CREATE TABLE pessoa (id SERIAL PRIMARY KEY, nome VARCHAR(100));
A forma acima simula o que eu vou exemplificar abaixo, a criação da sequencia manualmente:
CREATE SEQUENCE pessoa_id_seq;
CREATE TABLE pessoa
(id INTEGER PRIMARY KEY DEFAULT nextval('pessoa_id_seq'),
nome VARCHAR(100));
Atente para a igualdade entre o nome da sequencia e o parametro passado para a função nextval.
Bem, é isso, espero ter ajudado.
