Considere que um Técnico está trabalhando em um banco de dados PostgreSQL aberto e funcionando em condições ideais. O Técnico inseriu a seguinte sequência de comandos:DROP TABLE ..I.. TRTContatos;CREATE TABLE TRTContatos(codigo ..II.. PRIMARY KEY,orgao VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL);Para que uma eventual tabela TRTContatos anterior seja excluída e que o campo codigo seja preenchido automaticamente com números sequenciais a partir de 1, as lacunas I e II devem ser, correta e respectivamente, preenchidas com
AALL ROWS − COUNT UP
BIF EXISTS − SERIAL
CIF EXISTS − SEQUENTIAL
DALL RECORDS − COUNT UP
EALL RECORDS − SERIAL
Revelar gabarito e comentário▾
GabaritoB — IF EXISTS − SERIAL
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PostgreSQL: DROP TABLE IF EXISTS e SERIAL
Gabarito: letra B. Para excluir uma tabela apenas se ela existir e evitar erro, usa-se DROP TABLE IF EXISTS. Para gerar automaticamente números sequenciais a partir de 1 em uma coluna, o PostgreSQL oferece o tipo SERIAL, que cria uma sequência automática. A combinação correta é IF EXISTS na lacuna I e SERIAL na lacuna II.
A questão testa dois comandos muito comuns no dia a dia do PostgreSQL.
DROP TABLE
1IF EXISTS
Evita erro se tabela não existe
2Sem IF EXISTS
Erro se tabela não existe
3Auto-incremento (PostgreSQL)
SERIAL
Gera sequência a partir de 1
BIGSERIAL
SMALLSERIAL
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
ALL ROWS não é uma cláusula válida para o comando DROP TABLE – não existe no SQL padrão nem no PostgreSQL. COUNT UP não é um tipo de dado; o correto é SERIAL.
Alternativa B — ✅ Correta ⟵ GABARITO
IF EXISTS é a cláusula que condiciona a exclusão à existência da tabela, evitando erro caso ela não exista. SERIAL é o tipo de dado que implementa auto-incremento no PostgreSQL, gerando uma sequência de inteiros a partir de 1.
Alternativa C — ❌ Incorreta
IF EXISTS está correto para a lacuna I, mas SEQUENTIAL não é um tipo de dado no PostgreSQL. O nome correto é SERIAL. Não confunda com SEQUENCE, que é um objeto separado.
Alternativa D — ❌ Incorreta
ALL RECORDS não existe para DROP TABLE; o comando correto é DROP TABLE IF EXISTS. COUNT UP não é um tipo de dado SQL.
Alternativa E — ❌ Incorreta
ALL RECORDS é inválido. Embora SERIAL esteja correto para a lacuna II, a lacuna I está errada.
PEGA ESSA DICA!
Decore a sintaxe: DROP TABLE IF EXISTS nome_tabela; e os tipos de auto-incremento do PostgreSQL: SERIAL, BIGSERIAL e SMALLSERIAL. Eles criam uma sequência associada à coluna.