我的表没有处理重复数据的限制。我怎样才能实现这一点,使用' sqlldr'不会在表中插入相同的数据。效用?我是否必须在控制文件或参数中进行更改?或其他什么?
答案 0 :(得分:0)
您无法单独使用sqlldr。一种方法是在加载完成后删除重复项。 要在sqlldr加载后删除重复项:
DELETE FROM
table_name A
WHERE
a.rowid >
ANY (
SELECT
B.rowid
FROM
table_name B
WHERE
A.col1 = B.col1
AND
A.col2 = B.col2
);
或者您可以使用外部表来加载数据,只需在加载期间使用distinct
或group by
子句或使用merge
语句删除重复项。