sulomila Ответов: 1

Как обновить поле сразу запроса?


У меня есть две базы данных orgindb и seconddb. В обеих базах данных есть одинаковые поля таблиц smcNo и shname полей. Я хочу обновить shName seconddb так же, как orgindb на базе smcNo. Я обновляю один за другим, это заняло много времени.


Пожалуйста, помогите мне.

Что я уже пробовал:

UPDATE seconddb.dbo.table2 
set seconddb.dbo.table2.shName = origindb.dbo.table1.shName
where seconddb.dbo.table2.smcNo = 'smc-0001'

[no name]

Подумайте о чем-то подобном, но это всего лишь псевдокод, нужны некоторые операторы select:
UPDATE seconddb.dbo.table2
set seconddb.dbo.table2.shName = origindb.dbo.table1.shName
where seconddb.dbo.table2.smcNo = origindb.dbo.table2.smcNo

sulomila

Отображается ошибка.
Многосоставный идентификатор "origindb.dbo.table2.smcNo" не может быть привязан.

1 Ответов

Рейтинг:
8

Maciej Los

Правильный оператор обновления должен выглядеть следующим образом:

UPDATE A SET A.shName = B.shName
FROM seconddb.dbo.table2 AS A
    INNER JOIN origindb.dbo.table1 AS B ON A.smcNo = B.smcNo
--WHERE A.smcNo = 'smc-0001'
--uncomment above line to update specific record


GKP1992

OP хочет обновить все записи, если вы просто удалите условие where, ваше решение будет идеальным.

Maciej Los

Спасибо ;)

sulomila

Большое спасибо. Это делается в 00: 00: 02 для записей 2020 года.

Maciej Los

Всегда пожалуйста ;)
Овации
Мацей