Oracle 11 Оператор слияния не обновляет строки - PullRequest
0 голосов
/ 06 февраля 2020

Отладка оператора Merge, синтаксис:

    Merge into dest d
    Using (src) s
    On (d.id = s.id)
    When matched then
    Update set d.col = s.col
    Where d.col <> s.col;

Допустим, столбец col не равен нулю в обеих таблицах. Кроме того, sr c является локальной коллекцией, а не физической таблицей. Я вижу, что строки в dest не обновляются, когда они должны быть.

Кто-нибудь видел такое поведение?

Если sr c имеет 10 строк, соответствующих dest, и 5 имеют d.col = s .col, и 5 имеют d.col <> s.col, оценивает ли предложение Where значение false и, следовательно, ни одна из 10 строк не обновляется?

Большое спасибо тем из вас, кто имеет опыт работы с Заявление о слиянии.

...