一开始总是在纠结是不是存储过程哪里写错了,最后却发现数据表被人动过,插入了重复的记录,所以在select into 的时候会报错。自己也反应也忒慢了,竟然没有一开始就注意到表的问题,最后解决的办法就是删除表中select 的字段重复的记录。
//删除重复记录
DELETE from table WHERE id in (SELECT id from (SELECT id from table GROUP BY repeatedfield(有重复记录的字段) HAVING count(repeatedfield)>1) t)
//Select 嵌套使用临时表时,需要为临时表指定别名。
这里写代码片完美解决问题!!!