, 동일한 트랜잭션 2 개 이후의 선택 쿼리는 두 쿼리 사이에 동시 업데이트가 있었다 수 있기 때문에, 다른 결과를 가질 수 있습니다READ COMMITTED 격리 수준에서 CTE 절에 다른 결과를 가질 수 있습니까? <code>read committed</code> 격리 수준에서
transaction 1: select id from table;
=> returns [1, 2, 3]
transaction 2: delete from table where id = 2;
transaction 1: select id from table;
=> returns [1, 3]
어떻게됩니까을 거래 1 선택 쿼리의 경우 CTE에서 결합됩니까? 동시 업데이트가 cte_1
및 cte_2
의 실행 사이에 오면
with
cte_1 as (select id from table),
cte_2 as (select id from table)
select (select count(*) from cte_1, select count(*) from cte_2)
는 지금 우리가 다른 결과를 얻을 가능성도 있습니다 : 나는 다음과 같은 더미 쿼리가 있다고?
감사합니다. 매우 흥미 롭습니다. 또한'(a, b)'와'a, b'에 대한 언급에 대해서, 나는이 질문을 쓸 때 실제로 그것을 깨닫지 못했습니다. –