Я часто использую ниже JOIN и UPDATE для переноса значения из одной таблицы в другую в TSQL.
UPDATE T1
SET T1.Mobile = T2.Mobile
FROM Table1 T1 INNER JOIN Table2 T2 ON T1.ID = T2.ID
Затем я нашел в PL SQL, синтаксис для такого обновления либо с помощью MERGE,или заявление о гнезде.
В любом случае, как представляется, не все так просто, как в решении TSQL, поэтому меня интересует, действительно ли разработчик PL SQL выполняет такое обновление кросс-таблицы, или существует другой принцип разработки, который делает такое обновление ненужным.
Один комментарий, который я получил от разработчика PL SQL, заключается в том, что они предпочитают создать представление, подобное
CREATE VIEW MyView AS
(
SELECT T1.Filed1, T1.Field2, T2.Mobile
FROM Table1 T1 INNER JOIN Table2 T2 ON T1.ID = T2.ID
);
. Это похоже на жизнеспособное решение, принимая во внимание тот факт, что объединение не вносит дубликаты в Table1 / MyView.или положить логику дедупликации выше.Одним из очевидных преимуществ для этого является то, что мы можем продолжить обновление Table2.Mobile, и MyView всегда будет иметь обновленное значение.
Я ищу комментарий к принципу кодирования.:)