これは通常、USING句で指定されたクエリの重複が原因で発生します。これはおそらく、TABLE_Aが親テーブルであり、同じROWIDが数回返されることを意味します。
クエリでDISTINCTを使用すると、問題をすばやく解決できます(実際、「Y」が定数値の場合は、クエリに含める必要はありません)。
クエリが正しい(テーブルがわからない)と仮定すると、次のようになります。
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';