Questão nº 26

Questão de Tecnologia da Informação · FCC TRT22 2022 (nº 26)

FCC2022Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Considere que um Analista está trabalhando em um banco de dados PostgreSQL aberto e funcionando em condições ideais. O Analista inseriu a seguinte sequência de comandos:

```
DROP TABLE I TRTContatos;

CREATE TABLE TRTContatos (
cod serial PRIMARY KEY,
orgao VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
descricao VARCHAR(255)
);

INSERT INTO
TRTContatos (orgao, email)
VALUES
('Ouvidoria','ouvidoria@trt22.jus.br:'),
('Escola Judicial','ejud@trt22.jus.br'),
('Corregedoria','secor@trt22.jus.br')
II ;
```

É correto afirmar que

Resposta comentada

Gabarito Alternativa C

No PostgreSQL, é uma boa prática evitar erros ao apagar tabelas que podem não existir, e também é possível ver os dados que acabaram de ser inseridos, incluindo IDs gerados automaticamente.

  • Conceito-chave:

    • DROP TABLE IF EXISTS: Esta cláusula é usada para apagar uma tabela somente se ela existir, evitando um erro caso a tabela não esteja presente no banco de dados.
    • INSERT ... RETURNING *: Após inserir dados, a cláusula RETURNING * permite que o comando INSERT retorne todas as colunas das linhas que foram acabaram de ser adicionadas, incluindo valores gerados automaticamente (como o cod do tipo serial).
  • (A) Incorreta: O PostgreSQL permite sim a inserção de múltiplas linhas em um único comando INSERT ... VALUES (...), como mostrado no exemplo. A sintaxe utilizada está correta para isso.

  • (B) Incorreta: Não haverá erro. A coluna cod é do tipo serial, o que significa que seu valor é gerado automaticamente pelo banco de dados e não precisa ser fornecido no INSERT. A coluna descricao não é NOT NULL, o que significa que ela aceita valores NULL e, se não for especificada no INSERT, receberá NULL por padrão. As colunas orgao e email são NOT NULL e estão sendo fornecidas.

  • (C) Correta: Para o placeholder I, IF EXISTS é a forma correta de evitar um erro caso a tabela TRTContatos não exista ao tentar apagá-la. Para o placeholder II, RETURNING * é a cláusula que fará com que o comando INSERT retorne todas as colunas das linhas que foram inseridas, incluindo o cod gerado automaticamente, permitindo que o Analista veja os dados inseridos.

  • (D) Incorreta: Não existe a cláusula ALL ROWS para o comando DROP TABLE. Se II ficasse sem preenchimento, o INSERT seria executado, mas não apresentaria as linhas inseridas; ele apenas informaria o número de linhas afetadas.

  • (E) Incorreta: A sintaxe cod serial PRIMARY KEY está perfeitamente correta no PostgreSQL. serial é um tipo de dado (na verdade, um pseudotipo que cria uma sequência e a associa à coluna) que define uma coluna de auto-incremento. Não é necessário nem correto usar um _ entre cod e serial.

Fonte: FCC TRT22 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho