Questão nº 25

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

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

Considere que em um banco de dados Oracle 19c, aberto e funcionando em condições ideais, exista a tabela TRTVaras:

Figura da questão de Tecnologia da Informação

Para que as cidades cujos CodCidade comecem com 2 tenham a Jurisdicao alterada de Parnaíba para Teresina, deve-se utilizar o seguinte comando PL/SQL:

Resposta comentada

Gabarito Alternativa E

Para modificar dados em uma tabela, usamos o comando UPDATE, que nos permite definir novos valores para colunas (SET) em linhas específicas, filtradas por uma condição (WHERE). Para condições de texto mais complexas, como "começa com" ou "contém um padrão", podemos usar expressões regulares com a função REGEXP_LIKE.

  • (A) Incorreta: O padrão '2%' é um curinga (wildcard) para o operador LIKE, não para REGEXP_LIKE. Em REGEXP_LIKE, o caractere % é interpretado literalmente, significando que esta consulta buscaria CodCidade que começassem com '2' e fossem seguidos pelo caractere literal '%', o que não é o objetivo. Armadilha da banca: Misturar a sintaxe de LIKE com REGEXP_LIKE é um erro comum.
  • (B) Incorreta: Em Oracle, strings literais (como 'Teresina' ou '2%') devem ser delimitadas por aspas simples ('). O uso de aspas duplas (") é para identificadores (nomes de tabelas, colunas) que precisam ser case-sensitive ou contêm caracteres especiais. Portanto, "Teresina" e "2%" estão sintaticamente incorretos como literais de string.
  • (C) Incorreta: A sintaxe do comando UPDATE está incorreta. A cláusula SET deve vir antes da cláusula WHERE, e o uso de INTO para atribuição de valor não se aplica ao UPDATE. A estrutura correta é UPDATE tabela SET coluna = valor WHERE condição;. Além disso, a condição WHERE Jurisdicao = 'Parnaíba' não atende ao requisito de filtrar por CodCidade.
  • (D) Incorreta: A ordem das cláusulas está errada; a cláusula SET deve vir antes da WHERE. Além disso, o padrão de expressão regular ^2(*) é sintaticamente inválido ou, no mínimo, não é a forma padrão de expressar "começa com 2 e tem qualquer coisa depois". O (*) sozinho é problemático.
  • (E) Correta: O comando UPDATE TRTVaras SET Jurisdicao = 'Teresina' define corretamente o novo valor para a coluna Jurisdicao. A cláusula WHERE REGEXP_LIKE (CodCidade, '^2(*)') utiliza a função REGEXP_LIKE para filtrar as linhas. O padrão ^2(*) significa: ^ (âncora de início de string) seguido por 2 (o caractere literal '2'), e (*) que, embora não seja a forma mais comum (^2.* seria mais idiomático para "começa com 2 e tem qualquer coisa depois"), em Oracle, (*) é interpretado como "zero ou mais ocorrências de um grupo vazio", o que permite que a string '2' no início seja correspondida, satisfazendo a condição "comecem com 2".

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