Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 эффективный способ замены значений  [new]
N_guest
Guest
Есть табличка:
CREATE TABLE [Tab] (
[Id] [int] IDENTITY (1, 1) NOT NULL ,
[Price] [money] NULL
)
поля запонены.
На бумаге есть таблица в которой сопоставлены
значения поля Id новым значениям поля Price (порядка 5000 новых значений)
Подскажите как наиболее эффективно изменить значения Price, чтобы не писать 5000 выражений типа:
UPDATE Tab SET Price=V1 FROM Tab WHERE Id=I1
UPDATE Tab SET Price=V2 FROM Tab WHERE Id=I2
.
.
.
UPDATE Tab SET Price=V5000 FROM Tab WHERE Id=I5000
23 сен 04, 16:39    [983028]     Ответить | Цитировать Сообщить модератору
 Re: эффективный способ замены значений  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Сосканировать бумагу, запихав полученные оттуда данные в таблицу

create table #tab(
    [Id] [int] NOT NULL,
    [Price] [money] NULL
)

Потом выполнить апдейт для основной таблицы:

update Tab set Tab.Price = #Tab.Price from Tab inner join #Tab on Tab.Id = #Tab.Id
23 сен 04, 16:53    [983100]     Ответить | Цитировать Сообщить модератору
 Re: эффективный способ замены значений  [new]
Maternus
Member

Откуда: Frankfurt am Main
Сообщений: 114
1. Импортировать новые данные в таблицу nprice(nid int, nprice money)
2.
update t
set t.price = n.nprice
from tab t inner join nprice n on t.id = n.nid
23 сен 04, 16:54    [983106]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить