Не могли бы вы объяснить, что на самом деле делает оператор MERGE в Oracle?

Я ищу четкое объяснение того, что на самом деле делает оператор 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 ». Я прав?

Спасибо.

12
задан Benoit 1 February 2011 в 14:47
поделиться