May 18 2007

Auto-Incremento em PostgreSQL

Category: SQLvbmendes @ 07:04

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.