FC ConcursosFC Concursos

Questão FC373008

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 .

Sistema de Gerenciamento de Banco de Dados (SGBD)

FCC · 2022

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

  1. ALL ROWS − COUNT UP
  2. IF EXISTS − SERIAL
  3. IF EXISTS − SEQUENTIAL
  4. ALL RECORDS − COUNT UP
  5. ALL RECORDS − SERIAL
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A alternativa correta preenche as lacunas com IF EXISTS e SERIAL.

O fragmento IF EXISTS no comando DROP TABLE evita erro quando a tabela não existe: o PostgreSQL simplesmente ignora a operação em vez de retornar exceção. Sintaxe usual: DROP TABLE IF EXISTS table_name [CASCADE | RESTRICT], onde CASCADE remove objetos dependentes e RESTRICT impede a remoção se houver dependências.

Já o pseudotipo SERIAL cria automaticamente uma sequence e define como padrão da coluna a função nextval dessa sequence, promovendo preenchimento incremental automático dos registros.

Ao declarar codigo SERIAL PRIMARY KEY, o PostgreSQL gera a sequence, aplica NOT NULL e vincula a sequence à coluna; o primeiro valor padrão é 1, garantindo numeração sequencial crescente a partir de 1.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo