Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Предложение FROM в инструкции UPDATE  [new]
gandalf-the-grey
Member

Откуда: НН
Сообщений: 179
озадачился вопросом: а есть ли разница между
update cardbalance
set start_value = s.before
from cardbalance b, summary s 
where s.operation_id = b.start_oid and s.unit = b.unit and s.before <> 0

и
update cardbalance
set start_value = s.before
from summary s 
where s.operation_id = cardbalance.start_oid and s.unit = cardbalance.unit and s.before <> 0
13 дек 11, 13:47    [11756155]     Ответить | Цитировать Сообщить модератору
 Re: Предложение FROM в инструкции UPDATE  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
а планы отличаются?
13 дек 11, 14:00    [11756314]     Ответить | Цитировать Сообщить модератору
 Re: Предложение FROM в инструкции UPDATE  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
gandalf-the-grey
озадачился вопросом: а есть ли разница между
update cardbalance
set start_value = s.before
from cardbalance b, summary s 
where s.operation_id = b.start_oid and s.unit = b.unit and s.before <> 0

и
update cardbalance
set start_value = s.before
from summary s 
where s.operation_id = cardbalance.start_oid and s.unit = cardbalance.unit and s.before <> 0
Нет разницы в данном случае.

P.S. Завязывайте с запятой во FROMе
13 дек 11, 14:11    [11756428]     Ответить | Цитировать Сообщить модератору
 Re: Предложение FROM в инструкции UPDATE  [new]
gandalf-the-grey
Member

Откуда: НН
Сообщений: 179
iap
gandalf-the-grey
озадачился вопросом: а есть ли разница между
update cardbalance
set start_value = s.before
from cardbalance b, summary s 
where s.operation_id = b.start_oid and s.unit = b.unit and s.before <> 0

и
update cardbalance
set start_value = s.before
from summary s 
where s.operation_id = cardbalance.start_oid and s.unit = cardbalance.unit and s.before <> 0
Нет разницы в данном случае.

P.S. Завязывайте с запятой во FROMе


Просто перелопатил МСДН, примеров по варианту 2 не нашел. Почему во всех примерах обновляемая таблица дублируется в предложении FROM?

ЗЫ запятую во FROMе не использую уже давно, здесь просто пример такой попался
ЗЗЫ параллеельно тогда объясните, пожалуйста, чем хуже запятая при join'е 2 таблиц?
13 дек 11, 14:22    [11756546]     Ответить | Цитировать Сообщить модератору
 Re: Предложение FROM в инструкции UPDATE  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
+
gandalf-the-grey
ЗЗЫ параллеельно тогда объясните, пожалуйста, чем хуже запятая при join'е 2 таблиц?
явна провокацiя, хлопцi!
13 дек 11, 14:24    [11756573]     Ответить | Цитировать Сообщить модератору
 Re: Предложение FROM в инструкции UPDATE  [new]
gandalf-the-grey
Member

Откуда: НН
Сообщений: 179
никакой провокации. ну вот не понимаю я пока, чем она хуже. Тем паче, что при джойне двух таблиц все примеры в BOL - с запятой.

и да, учитывая, что 1-й и 2-й запросы идентичны, что оптимальнее:
update cardbalance
set start_value = s.before
from cardbalance b join summary s 
on s.operation_id = b.start_oid and s.unit = b.unit and s.before <> 0

или
update cardbalance
set start_value = s.before
from summary s 
where s.operation_id = cardbalance.start_oid and s.unit = cardbalance.unit and s.before <> 0
13 дек 11, 14:35    [11756710]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить