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

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Товарищи, сегодня открыла для себя это...
create table #test1 (ID int, IDD int)
create table #test2 (ID int, IDD int)

insert into #test1 (ID)
select 1

insert into #test2
select 1, 10
union all
select 1, 20

update t1 set t1.IDD = t2.IDD
from #test1 t1 inner join #test2 t2 on
	t1.ID = t2.ID

select * from #test1

drop table #test1
drop table #test2

IDIDD
110


Т.е. если при обновлении в таблице источнике присутствует несколько значений для одного ID в обновляемой таблице, то ошибка не возникает, а происходит обновление одним из значений из источника, в данном случае наименьшим. Честно говоря всегда считала, что в такой ситуации возникает ошибка, т.к. сервер не знает каким конкретно значением из полученного набора надо обновлять. Ткните пожалуйста где это свойство команды UPDATE описывается, а то уже два часа штудирую BOL и Google, но безрезультатно. Наверное сказывается вечер пятницы...

Microsoft SQL Server 2005 - 9.00.3080.00 (Intel X86) Sep 6 2009 01:43:32 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
21 окт 11, 16:12    [11480148]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с UPDATE  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Nika1979, никакой ошибки, старое значение обновляется всеми новыми значениями по очереди. но так случилось, что последним из них оказалось 10
21 окт 11, 16:16    [11480186]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с UPDATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nika1979
Ткните пожалуйста где это свойство команды UPDATE описывается, а то уже два часа штудирую BOL и Google, но безрезультатно. Наверное сказывается вечер пятницы...

BOL - Update

Using UPDATE with the FROM Clause
The results of an UPDATE statement are undefined if the statement includes a FROM clause that is not specified in such a way that only one value is available for each column occurrence that is updated, that is if the UPDATE statement is not deterministic.
21 окт 11, 16:17    [11480194]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с UPDATE  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Фуф, спасибо.


___________________________________________________________
Да, надо все таки высыпаться, а то вон какие глюки появляются...
21 окт 11, 16:25    [11480302]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с UPDATE  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Nika1979,

MERGE Вам в помощь. Получите сообщение об ошибке.
22 окт 11, 09:54    [11482872]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с UPDATE  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
pkarklin
Nika1979,

MERGE Вам в помощь. Получите сообщение об ошибке.
Nika1979
Microsoft SQL Server 2005 - 9.00.3080.00
22 окт 11, 12:30    [11483020]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с UPDATE  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
iap,

Мдя... Не доглядел. :(
23 окт 11, 14:19    [11484950]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить