Oracle CURSOR FOR UPDATE (Português)
Resumo: neste tutorial, você aprenderá como usar o cursor atualizável Oracle para atualizar dados em uma tabela.
Introdução ao Oracle Cursor FOR UPDATE
 Às vezes, você deseja bloquear um conjunto de linhas antes de atualizá-las em seu programa. A Oracle fornece a FOR UPDATE cláusula da instrução SELECT em um cursor atualizável para executar este tipo de mecanismo de bloqueio. 
Esta é a sintaxe para declarar um cursor atualizável:
 A nova sintaxe aqui é as FOR UPDATE palavras-chave. 
 Assim que você abrir o cursor, o Oracle bloqueará todas as linhas selecionadas pela instrução SELECT ... FOR UPDATE nas tabelas especificadas em FROM cláusula. E essas linhas permanecerão bloqueadas até que o cursor seja fechado ou a transação seja concluída com COMMIT ou ROLLBACK. 
 Observe que o Oracle bloqueia todas as linhas retornadas pelo SELECT ... FOR UPDATE durante a atualização, portanto, você deve ter uma cláusula WHERE para selecionar apenas as linhas necessárias a ser bloqueado. 
 Se você tem uma coluna específica que deseja atualizar, pode listá-la na cláusula FOR UPDATE da seguinte maneira: 
 Nesse caso, o Oracle bloqueia apenas as linhas da tabela que têm o nome da coluna listado na cláusula FOR UPDATE OF. 
 Observe que se você usar apenas a cláusula FOR UPDATE e não incluir uma ou mais colunas após a palavra-chave OF, o Oracle então bloquear todas as linhas selecionadas em todas as tabelas listadas na cláusula FROM. 
Exemplo de Cursor Oracle FOR UPDATE
Considere o seguinte exemplo.
Como funciona.
- Primeiro, declare um cursor atualizável que atualiza os créditos dos clientes cujos créditos são maiores que zero.
- Próxima , faça um loop pelas linhas nos cursores.
- Em seguida, obtenha o número de pedidos para cada cliente.
- Depois disso, atribua o incremento de crédito com base na contagem de pedidos.
- Por fim, atualize o crédito do cliente.
Neste tutorial, você aprendeu como usar o cursor atualizável do Oracle para atualizar dados em uma tabela.
- Este tutorial foi útil?
- Sim Não