这个问题与Refactor functions so they can be used within a CTE有点脱节。
问题很简单:在SELECT
与READ COMMITTED
交易中执行REPEATABLE READ
查询是否有所不同?我们假设在事务中没有进行其他查询(甚至是' SELECT'查询)。因此,事务只执行一个SELECT
查询。
答案 0 :(得分:3)
通常情况下,单个SELECT
语句会有所不同。
例外情况是SELECT
语句调用自己发出多个SQL语句的用户定义函数。
在这种情况下,REPEATABLE READ
将使所有这些SQL语句共享数据库的单个快照,而READ COMMITTED
将使每个SQL语句看到数据库的不同状态。