Considere os seguintes trechos de SQL para bancos de dados O...

Próximas questões
Com base no mesmo assunto
Q410810 Banco de Dados
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
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - SERIAL.

Para compreender a questão, é essencial conhecer os recursos de autoincremento disponíveis em diferentes sistemas de gerenciamento de banco de dados (SGBD). O autoincremento é uma funcionalidade que gera automaticamente um valor único e sequencial para uma coluna em uma tabela, geralmente utilizada em chaves primárias.

No contexto do Oracle, são usados uma sequência (CREATE SEQUENCE) e um gatilho (CREATE TRIGGER) para simular o comportamento de autoincremento. A sequência gera números sequenciais e o gatilho insere automaticamente o próximo valor da sequência na coluna id antes de cada inserção na tabela test.

Já no PostgreSQL, o mesmo resultado é obtido de maneira mais conveniente e direta através do tipo de dado SERIAL. Ao definir uma coluna como SERIAL, o PostgreSQL automaticamente cria uma sequência associada à coluna e preenche a coluna com um valor sequencial a cada nova inserção, eliminando a necessidade de criar explicitamente uma sequência e um gatilho como no Oracle.

A escolha da alternativa correta envolve a compreensão dessa diferença entre os SGBDs e o conhecimento específico de que o PostgreSQL utiliza o tipo SERIAL para a criação de colunas com autoincremento.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

o auto incremento em postgresql é serial emsql é auto_increment

Colunas de autonumeração
Oracle - sequence
SQL Server - identity
PostgreSQL - serial
MySQL - auto_increment

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo