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

Откуда:
Сообщений: 953
Есть две таблицы.
Сначала выбираем
select num,old,new from 
base01..table1 join
base01..list_ppts on G181201 = old


G181201	old	new
14КА406727150320030Т 14КА406727150320030Т 25ТВ586317140720001Т
14КН625586250320040Т 14КН625586250320040Т 14ВО441982050719973Т
24АЕ426140000000000Т 24АЕ426140000000000Т 24АЕ426140250619941Т
25АС914687171219963Т 25АС914687171219963Т 25АС914687171219960Т
25АС960143190619970Т 25АС960143190619970Т 25АС960143080819953Т
25ВЕ510536171219963Т 25ВЕ510536171219963Т 25ВЕ510536000000000Т
25ВЕ647224100219980Т 25ВЕ647224100219980Т 25ВЕ647224100219983Т
25ВХ212065050219993Т 25ВХ212065050219993Т ГТ025528161219930Т

Заменяем значение в одной таблице на значения из другой.

update a
set G181201 = new
from base01..list_ppts b join  base01..table1 a on b.old = a.G181201


(строк обработано: 8)

Казалось бы, всё! Больше не должен select ничего отображать.

select num,old,new from 
base01..table1 join
base01..list_ppts on G181201 = old


G181201	old	new
14КА406727150320030Т 14КА406727150320030Т 25ТВ586317140720001Т
14КН625586250320040Т 14КН625586250320040Т 14ВО441982050719973Т
24АЕ426140000000000Т 24АЕ426140000000000Т 24АЕ426140250619941Т
25АС914687171219963Т 25АС914687171219963Т 25АС914687171219960Т
25АС960143190619970Т 25АС960143190619970Т 25АС960143080819953Т
25ВЕ510536171219963Т 25ВЕ510536171219963Т 25ВЕ510536000000000Т
25ВЕ647224100219980Т 25ВЕ647224100219980Т 25ВЕ647224100219983Т
25ВХ212065050219993Т 25ВХ212065050219993Т ГТ025528161219930Т




Microsoft SQL Server 2008 R2 (SP1) - 10.50.2769.0 (Intel X86) Jun 24 2011 13:19:23 Copyright (c) Microsoft Corporation Standard Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
21 мар 12, 11:55    [12286642]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Хоть бы структуру таблиц привели...
21 мар 12, 12:06    [12286735]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
Мордор Держимордов,

Либо реальные запросы отличаются от приведённых здесь, и там есть ошибка, либо на table1 есть триггер.

Ну или какой то другой процесс обновляет записи обратно...
21 мар 12, 12:08    [12286765]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
триггеров нет?

транзакция случайно не явная, может забыли commit?
21 мар 12, 12:12    [12286792]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
Glory
Member

Откуда:
Сообщений: 104751
?
update a
set G181201 = b.new
from base01..list_ppts b join  base01..table1 a on b.old = a.G181201
21 мар 12, 12:20    [12286867]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
А может, там изначально никакой разницы не было?
Что new, что old...

8 строк проапдейтилось тем же, что там и было
21 мар 12, 13:32    [12287646]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
А может, там изначально никакой разницы не было?
Что new, что old...

8 строк проапдейтилось тем же, что там и было
Прошу ппрощения. Был неправ - не вгляделся в картинку первого поста
21 мар 12, 13:33    [12287661]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Не очень понял - а какой смысл отображать в запросе поле num, если обновляете Вы G181201?
21 мар 12, 16:46    [12289697]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
Мордорашкас Держимордовилкас
Guest
Мордор Держимордов,

проставьте для начала все алиасы к таблицам и столбцам. и схемы.
21 мар 12, 17:13    [12289947]     Ответить | Цитировать Сообщить модератору
 Re: Делаем update, строк обработано, а потом селект показывает что ничего на самом деле не обр  [new]
Мордор Держимордов
Member

Откуда:
Сообщений: 953
iap
А может, там изначально никакой разницы не было?
Что new, что old...

8 строк проапдейтилось тем же, что там и было



В точку!

Люди, извините что не отвечал.
Закрутился, забыл!
27 апр 12, 09:53    [12477870]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить