Я ищу четкое объяснение того, что делает оператор MERGE
в Oracle.
Вот что я делаю после:
MERGE INTO (target_table) t
USING (source_view) s
ON (join condition)
WHEN MATCHED THEN UPDATE SET col1 = val1 [, ...]
WHEN NOT MATCHED THEN INSERT (col1 [, ...]) VALUES ( val1 [, ...])
- какое соединение выполняется? Я думаю, что это полное внешнее соединение, я прав?
- относительно части
WHEN MATCHED
: что происходит, когда строка изt
соответствует нескольким строкам изs
? - относительно части
WHEN NOT MATCHED
, я считаю, что это означает "когда строка вs
не имеет соответствия вt
". Я прав?
Спасибо.