Oracle清除表重复数据
一、清除数据需要的步骤:
1复制原本的数据到另一表(此步需要对数据进行过滤,以去除重复数据)
2将原表数据删除
3将另一表数据插入原表
需要注意主键是否需要改变,如果需要改变,主键需要SYS_GUID()来创建
----清除USER重复数据----
--复制表结构
CREATE TABLE USER4COPY AS (SELECT * FROM USER WHERE 1 = 2);
--向复制表中插入过滤后的数据, 根据 USERCODE 过滤数据
INSERT INTO USER4COPY
SELECT USERCODE, MAX(USERID), MAX(USERNAME), MAX(ISSTOP)
FROM USER GROUP BY USERCODE;
--删除原表的数据
DELETE USER;
--向原表插入过滤后数据
INSERT INTO USER SELECT * FROM USER4COPY;
----清除USER重复数据----