A atualização do SQL afetará sua subconsulta durante a execução da atualização?
Eu estou apenas compondo uma consulta de atualização complexa que parece mais ou menos assim:
<code>update table join (select y, min(x) as MinX from table group by y) as t1 using (y) set x = x - MinX </code>
O que significa que a variávelx
é atualizado com base na subconsulta, que também processa variáveisx
- masnão poderia issox
já ser modificado pelo comando running update? Isso não é um problema? Quero dizer, na programação normal, você normalmente tem que lidar com isso explicitamente, ou seja, armazenar novo valor para algum outro lugar a partir do valor antigo e depois que o trabalho estiver concluído, substitua o valor antigo por novo ... mascomo o banco de dados SQL fará isso?
Não estou interessado em uma única observação ou experimento. Eu gostaria de ter um trecho do documento ou padrão sql que vai dizer qual é o comportamento definido neste caso. Estou usando o MySQL, mas respostas válidas também para outros PostgresQL, Oracle, etc. e especialmentepara o padrão SQL em geral são apreciados. Obrigado!