Questão nº 32

Questão de Suporte em Tecnologia da Informação · FGV TJDFT 2022 (nº 32)

FGV2022Analista Judiciário - Suporte em Tecnologia da InformaçãoSuporte em Tecnologia da Informação
Gabarito: Aver comentário ↓

No contexto do uso de cursores por meio do Oracle PL/SQL, analise o script a seguir.

```
DECLARE
v_CPF pessoa.CPF%type;
v_nome pessoa.nome%type;

BEGIN
OPEN teste;
LOOP

EXIT WHEN teste %notfound;
EXEC sp_inclui_beneficio(v_CPF);
END LOOP;
CLOSE teste;
END;
```

As linhas que substituem corretamente os trechos tracejados na quarta e na oitava linhas do script acima são, respectivamente:

Resposta comentada

Gabarito Alternativa A

Conceito-chave: Um cursor é um "ponteiro" que percorre linha a linha o resultado de uma consulta SELECT. Para usá-lo, você primeiro o declara com CURSOR ... IS, depois o abre com OPEN, e a cada iteração do loop usa o comando FETCH para buscar os dados nas variáveis.

  • (A) Correta: É exatamente a sintaxe padrão do PL/SQL: CURSOR teste IS SELECT ... declara o cursor, e FETCH teste INTO v_CPF, v_nome busca a próxima linha e armazena os valores nas variáveis, que serão usadas na chamada da procedure.
  • (B) Incorreta: DECLARE teste as SELECT não existe em PL/SQL; o comando correto é CURSOR ... IS. Além disso, READ não é um comando válido para cursores — o correto é FETCH.
  • (C) Incorreta: SET CURSOR e RETRIEVE são comandos de outras linguagens (como SQL Server ou pseudo-código), não do Oracle PL/SQL. A sintaxe correta é CURSOR ... IS e FETCH ... INTO.
  • (D) Incorreta: teste = INPUT (...) parece uma atribuição de variável comum, mas cursores não são atribuídos dessa forma. NEXT também não é o comando de leitura do PL/SQL; o correto é FETCH.
  • (E) Incorreta: WITH teste as SELECT é usado em subconsultas (CTE), não para declarar cursores. GET não é um comando de cursor no Oracle; o comando é FETCH.

Armadilha do distrator mais tentador (B): A banca tenta confundir quem confunde DECLARE (usado para variáveis) com CURSOR. Lembre-se: no PL/SQL, cursor se declara com CURSOR nome IS, e a leitura é sempre com FETCH ... INTO. Qualquer verbo como READ, RETRIEVE, NEXT ou GET é pegadinha de outras linguagens.

Fonte: FGV TJDFT 2022 Analista Judiciário - Suporte em 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