Điều này thường do các bản sao trong truy vấn được chỉ định trong mệnh đề USING. Điều này có thể có nghĩa là TABLE_A là bảng mẹ và ROWID giống nhau được trả về nhiều lần.
Bạn có thể nhanh chóng giải quyết vấn đề bằng cách sử dụng DISTINCT trong truy vấn của mình (trên thực tế, nếu 'Y' là một giá trị không đổi, bạn thậm chí không cần đặt nó vào truy vấn).
Giả sử truy vấn của bạn là đúng (không biết các bảng của bạn), bạn có thể làm như sau:
MERGE INTO table_1 a
USING
(SELECT distinct ta.ROWID row_id
FROM table_1 a ,table_2 b ,table_3 c
WHERE a.mbr = c.mbr
AND b.head = c.head
AND b.type_of_action <> '6') src
ON ( a.ROWID = src.row_id )
WHEN MATCHED THEN UPDATE SET in_correct = 'Y';