Определение причудливого обновления - PullRequest
0 голосов
/ 04 апреля 2020

Основано на статье Ицик Бен-Гана в ITProToday

Реализация Microsoft основана на принципе физической независимости данных и поэтому не гарантирует, что вы получите данные обратно из запрос в любом конкретном порядке, если только вы не добавите предложение ORDER BY во внешний запрос. Аналогичное нарушение принципа заключается в том, что когда люди обновляют данные, а правильность решения зависит от того, обновляются ли данные в порядке кластерного индекса (выполните поиск в Интернете по « причудливому обновлению », чтобы понять, что я имею в виду).

Я пытался найти причудливое обновление, но тщетно. Я ищу пример, чтобы понять концепцию.

1 Ответ

2 голосов
/ 04 апреля 2020

Вот пример «Причудливого обновления»

use tempdb
go
drop table if exists t
go
create table t(id int primary key, Amount int, RunningTotal int)

insert into t(id,Amount,RunningTotal) values (1,4,0),(2,2,0),(3,6,0)

declare @t int = 0

update t set @t = RunningTotal = @t + Amount

select * from t

output

id          Amount      RunningTotal
----------- ----------- ------------
1           4           4
2           2           6
3           6           12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...