Thực ra không phải vậy, nó là một phần của khóa duy nhất phức hợp. Vì vậy, thực sự điều khoản BẬT của bạn phải khớp với
on (tgt.app_lse_s = src.app_lse_s
and tgt.dt_ent_s = src.dt_ent_s)
Ngẫu nhiên, việc sử dụng trim()
trong điều khoản BẬT là đáng lo ngại, đặc biệt là trim(tgt.app_lse_s)
. Nếu bạn đang chèn các giá trị có dấu cách ở cuối hoặc ở đầu, thì "khóa duy nhất" của bạn sẽ tạo ra nhiều lần truy cập khi bạn cắt chúng. Bạn nên cắt bớt khoảng trắng khi tải dữ liệu từ tệp và chèn các giá trị đã cắt vào bảng của mình.
MJL_IDX0
phải cho tôi một chỉ mục duy nhất. Điều đó có nghĩa là bạn cần đưa các cột của nó vào bất kỳ bản ghi duy nhất nào.
Rõ ràng là có sự khác biệt giữa logic CHÈN thẳng và logic CHÈN MERGE của bạn. Bạn cần so sánh hai câu lệnh và tìm ra sự khác biệt là gì.