Considere os seguintes trechos de SQL para bancos de dados Oracle.
create table test (id number, testdata varchar2(255));
create sequence test_seq start with 1 increment by 1 nomaxvalue;
create trigger test_trigger before insert on test for each row begin select test_seq.nextval into :new.id from dual; end;
O propósito destes comandos é obter um autoincremento da coluna id presente na tabela test. Em sistemas de bancos de dados PostgreSQL, o autoincremento pode ser obtido com a utilização de um tipo de dado criado por conveniência, chamado