Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
зеленый админ Member Откуда: Сообщений: 247 |
не могу найти в у классиков, где указано, что set в update работает справа налево: т.е. после update my_table set col1=1, col2=col1 хочу получить гарантию, что в col2 будет 1. |
17 апр 13, 13:42 [14192587] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
зеленый админ, полям значения присваиваются "параллельно", то есть, col2 получит старое значение col1.
update my_table set col1=1, col2=1Вот гарантия! |
||
17 апр 13, 13:45 [14192612] Ответить | Цитировать Сообщить модератору |
зеленый админ Member Откуда: Сообщений: 247 |
зеленый админ, тьфу, слева направо, естно |
17 апр 13, 13:45 [14192616] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
![]() |
||
17 апр 13, 13:47 [14192626] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Нигде. Потому что это не работает ни слева направо, ни справа налево В разных выражениях вы всегда имеете доступ к значению поля до начала апдейта |
||
17 апр 13, 13:47 [14192633] Ответить | Цитировать Сообщить модератору |
зеленый админ Member Откуда: Сообщений: 247 |
iap, жаль, мне надо получить смещение... типа update my_table set col1=col2, col2=col3, col3=col4 go alter table my_table drop column col4; |
17 апр 13, 13:47 [14192634] Ответить | Цитировать Сообщить модератору |
update from
Guest |
update t set col1 = new_col1 , col2 = new_col1 from ( select *, new_col1 = 1 from my_table ) t |
||
17 апр 13, 13:47 [14192635] Ответить | Цитировать Сообщить модератору |
Паганель Member Откуда: Винница Сообщений: 22551 |
ой, а что такое смещение? |
17 апр 13, 13:48 [14192643] Ответить | Цитировать Сообщить модератору |
Knyazev Alexey Member Откуда: Екб -> Мск Сообщений: 10234 Блог |
sp_rename + drop |
||
17 апр 13, 13:50 [14192653] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
|
||
17 апр 13, 13:53 [14192667] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |