Bom dia.
Em Microsoft SQL Server Transact-SQL temos o HINT WITH (NOLOCK), que permite a leitura de dados locados por outras transações.
Exemplo:
Select * from MinhaTabela with (NOLOCK);
Existe alguma declaração similar no Oracle PL-SQL ?
Bom dia.
Em Microsoft SQL Server Transact-SQL temos o HINT WITH (NOLOCK), que permite a leitura de dados locados por outras transações.
Exemplo:
Select * from MinhaTabela with (NOLOCK);
Existe alguma declaração similar no Oracle PL-SQL ?
Olá Ceilton, tudo bem?
No Oracle, não existe exatamente o mesmo conceito de WITH (NOLOCK)
como no Microsoft SQL Server. Mas, o Oracle oferece funcionalidades semelhantes para permitir a leitura de dados sem bloquear as transações em andamento.
Por padrão, o Oracle utiliza o nível de isolamento "Read Committed", que permite que uma transação leia apenas dados que foram confirmados (committed) por outras transações. Com isso, você não verá dados não confirmados, mas você pode ver alterações feitas por outras transações após o início da sua transação.
Se você deseja um comportamento mais próximo do WITH (NOLOCK)
, você pode considerar usar o nível de isolamento "Read Only" ou "Serializable", mas ambos têm suas próprias implicações e não são exatamente iguais ao NOLOCK
.
Para definir o nível de isolamento de uma transação em Oracle, você pode usar o comando SET TRANSACTION
:
SET TRANSACTION ISOLATION LEVEL READ ONLY;
Espero ter ajudado.
Qualquer dúvida, não hesite em compartilhar no fórum.
Abraços!
Bom dia. Obrigado Monalisa.