← Questões de Banco de Dados

Banco de Dados · FGV · 2021

Questão comentada de Banco de Dados

No âmbito do Oracle, analise o comando select xxxx.currval from dual Assinale a opção que identifica corretamente a natureza do objeto xxxx.

Gabarito: D

No Oracle, a expressão "currval" aparece quando voce está lidando com uma sequence. Sequence é o objeto que gera valores numéricos automáticos, muito usado para chaves primárias. O detalhe importante é que "currval" retorna o valor atual da sequence na sessão, mas só depois de voce já ter usado "nextval" pelo menos uma vez. Antes disso, a sequence ainda não tem um valor corrente para aquela sessão, e o Oracle reclama. Na prática, o comando "select xxxx.currval from dual" mostra que "xxxx" precisa ser uma sequence, porque "currval" é uma pseudocoluna associada exclusivamente a esse tipo de objeto. A tabela DUAL entra só como apoio clássico do Oracle para consultas que retornam um único valor, quase um palco vazio para o número aparecer sozinho. Por isso, o gabarito é a letra D. Se o objeto fosse usuário, tabela, constraint ou tablespace, não faria sentido falar em currval, porque esse atributo não existe para esses objetos. Em prova, sempre que aparecer nextval ou currval, pense imediatamente em sequence.

Continue treinando

Questões relacionadas