存储过程里写删除,思路应该是怎么办

问题遇到的现象和发生背景

写了一个删除重复数据的sql 然后这会发现要一直用 就说在sqlyog中写一个存储过程 想问一下大家应该怎么写这个存储过程 应该要if判断吧

用代码块功能插入代码,请勿粘贴截图

DELETE FROM cathode WHERE sort IN(
SELECT t1.sort FROM (SELECT
id,
sort,
l.v
FROM
(SELECT
cathode.*,
row_number () over (PARTITION BY id) v
FROM
cathode) l
WHERE l.v = 2 AND l.v= 3)t1
)

运行结果及报错内容

上面是写的删除的sql
实在不知道怎么写存储过程 没有思路

参考这个

建立一个游标,然后获取重复数据放在游标里,循环游标,根据获取的重复数据去删除