Member 11856456 Ответов: 2

Как использовать инструкцию merge update?


Я превратил инструкцию sql в то, что, как мне казалось, было удобным строковым форматом в vb.net.

Вот что получается из этой строки
Merge into [Table1] as T using [table2] as S on t.first_name = S.first_name and T.age = s.age when matched then update Set T.last_name = S.Last_name;


когда я иду проверять данные, ничего не меняется в таблице 1, Может ли кто-нибудь сказать мне на основе строки, если я что-то упускаю или что-то находится не в том месте?

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

Никакие данные не вставляются в столбец фамилии, он остается пустым. Я удалил скобки из имен столбцов и добавил запятые, но безрезультатно, я все еще ничего не получаю в обновленном столбце last_name.

Kornfeld Eliyahu Peter

Может быть, нет никакого совпадения? Проверьте это запросом...

GPrasad2050

Проверьте, есть ли у вас какой-либо триггер вместо триггера на целевой таблице.

2 Ответов

Рейтинг:
1

Aswani Madhavan

Запрос выглядит нормально, Проверьте, совпадает ли условие в обеих таблицах, вы можете использовать соединение для выяснения этого

SELECT * FROM Table_1, Table_2 
WHERE Table_1.first_name = Table_2.first_name and  Table_1.age = Table_2.age


Рейтинг:
0

Moin 10918476

MERGE [Table1] T 
USING  [table2] S
ON t.first_name = S.first_name and T.age = s.age
WHEN MATCHED THEN UPDATE SET T.last_name = S.Last_name