Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Про корректность записи оператора update  [new]
Б. Гейтс
Guest
Вопрос в следующем. На всех ли версиях MSSQLServer будет корректно обработан update такого вида:
update Table1 set A = B, B = 0 where B > 0

Не случится ли такого, что сначала B присвоится 0, а только потом A присвоится B?
12 дек 13, 12:56    [15281998]     Ответить | Цитировать Сообщить модератору
 Re: Про корректность записи оператора update  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
Б. Гейтс,

да, нет
12 дек 13, 13:28    [15282226]     Ответить | Цитировать Сообщить модератору
 Re: Про корректность записи оператора update  [new]
СтарыйШломо
Guest
Б. Гейтс,

sql server (и насколько помню стандарт sql) предполагает что ты пишешь запрос не опираясь на последовательность вычисления выражений на определенном логическом уровне (в set например). твой запрос отработает так, как ты задумал, всегда.
12 дек 13, 13:36    [15282292]     Ответить | Цитировать Сообщить модератору
 Re: Про корректность записи оператора update  [new]
Б. Гейтс
Guest
Спасибо, успокоили! А то мой приемник уже давно не внушает доверия.
12 дек 13, 14:01    [15282480]     Ответить | Цитировать Сообщить модератору
 Re: Про корректность записи оператора update  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Б. Гейтс,

Это называется Halloween Problem
12 дек 13, 21:21    [15284950]     Ответить | Цитировать Сообщить модератору
 Re: Про корректность записи оператора update  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
StarikNavy
Б. Гейтс,

да, нет
Правильный ответ - "да нет наверно!"
13 дек 13, 10:12    [15286475]     Ответить | Цитировать Сообщить модератору
 Re: Про корректность записи оператора update  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
iap,

емнип да нет наверное имхо
;)
13 дек 13, 10:19    [15286513]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить