Questão nº 49

Questão de Banco de Dados e Gestão da Informação · FGV SEFAZ-AM 2022 - Prova I (nº 49)

FGV2022Analista de Tecnologia da Informação da Fazenda EstadualBanco de Dados e Gestão da Informação
Gabarito: Dver comentário ↓

Analise o código Oracle PL/SQL.
```
DECLARE
s_mat aluno.matricula%type;
s_nom aluno.nome%type;
s_cur aluno.curso%type;
CURSOR cur_alunos is
...;
BEGIN
OPEN cur_alunos;
LOOP
FETCH cur_alunos
into s_mat, s_nom, s_cur;
EXIT WHEN cur_alunos%notfound;
dbms_output.put_line(s_mat || ' ' ||
s_nom || ' ' ||
s_cur);
END LOOP;
CLOSE cur_alunos;
END;
/
```
Assinale a opção que apresenta o trecho que deve substitui corretamente os pontos “...” na sexta linha do código.

Resposta comentada

Gabarito Alternativa D

Um cursor em PL/SQL é uma área de memória nomeada que armazena o resultado de uma consulta SQL (SELECT). Ele permite que você processe as linhas (registros) retornadas por essa consulta uma a uma.

  • (A) Incorreta: GET aluno não é uma sintaxe SQL ou PL/SQL válida para definir um cursor.
  • (B) Incorreta: IMPORT FROM aluno TO cur_alunos é uma sintaxe relacionada a operações de importação de dados, não à definição de uma consulta para um cursor.
  • (C) Incorreta: READ FROM aluno não é uma sintaxe SQL ou PL/SQL válida para definir um cursor.
  • (D) Correta: A definição de um cursor é feita com uma instrução SELECT. Esta opção SELECT matricula, nome, curso FROM aluno é uma consulta SQL válida que seleciona as três colunas (matricula, nome, curso) da tabela aluno, correspondendo exatamente às três variáveis (s_mat, s_nom, s_cur) declaradas e usadas na instrução FETCH do código.
  • (E) Incorreta: WITH * FROM aluno não é uma sintaxe SQL válida para definir a consulta principal de um cursor. A cláusula WITH é usada para Common Table Expressions (CTEs) e precede uma instrução SELECT completa. Além disso, mesmo que fosse SELECT * FROM aluno, isso selecionaria todas as colunas da tabela aluno, o que causaria um erro na instrução FETCH que espera exatamente três colunas (s_mat, s_nom, s_cur). A armadilha aqui é que SELECT * é uma consulta comum, mas a sintaxe WITH * FROM aluno está errada e o número de colunas não corresponde ao FETCH.

Fonte: FGV SEFAZ-AM 2022 - Prova I Analista de Tecnologia da Informação da Fazenda Estadual (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