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