摘要:本文介绍如何使用存储过程删除GBase 8s数据库某张表的重复数据。
有些表没有唯一索引或主键,但也不希望某些字段有重复记录,而重复记录不能靠唯一索引或主键保证时,就需要用存储过程来实现去重,以GBase 8s数据库为例说明存储过程的用法:
CREATE PROCEDURE del_dul()
DEFINE i, j INT;
define k, l char(20);
FOREACH SELECT a,rowid into k,i FROM dul t where rowid<(SELECT max(rowid) FROM
dul y where t.a=y.a group by a)
delete FROM dul where a=k and rowid=i;
END FOREACH
END PROCEDURE;
使用时执行execute procedure del_dul()即可。