SóProvas


ID
2763178
Banca
FCC
Órgão
Prefeitura de São Luís - MA
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Um Auditor digitou em um banco de dados Oracle, aberto e em condições ideais, a instrução PL/SQL:


SELECT id, nome FROM cidadao WHERE id = '001' FOR UPDATE ORDER BY id;


A cláusula FOR UPDATE

Alternativas
Comentários
  • "When we want to issue a lock over the record set returned by the cursor associated SELECT query, we can opt for the FOR UPDATE clause, which automatically places an exclusive row-level lock on all the rows retrieved, forbidding any other session from performing a DML operation on them until we perform a commit or a rollback to release the lock."

     

    Referência: http://www.dba-oracle.com/t_adv_plsql_for_update_where_current.htm

  • famoso lock pessimista

     

    mata a escalabilidade da aplicação para resolver problema de concorrencia

  • Resposta: D


    "Quando queremos emitir um bloqueio sobre o conjunto de registros retornado pela consulta SELECT associada ao cursor, podemos optar pela cláusula FOR UPDATE, que coloca automaticamente um bloqueio exclusivo no nível de linha em todas as linhas recuperadas, impedindo qualquer outra sessão de executar uma operação DML neles até que realizemos um commit ou uma reversão para liberar o bloqueio."


    (Traduzido) Referência: http://www.dba-oracle.com/t_adv_plsql_for_update_where_current.htm

  • A letra B) é uma pegadinha, pois o auditor executar esse comando não quer dizer que ele VÁ efetivar alguma alteração de fato. Fui na E) por causa disso.

  • Vivendo e aprendendo dessa não sabia oh kkk
  • toda as as alternativas, com exceção da letra, tem escrito QUE POSSUEM o valor 001, na sintaxe acima dá pra ver que é apenas o valor 001, dava pra ter matado a questão dessa maneira