接下来是删除重复的数据,执行下面语句进入编辑模式:
  SELECT *
  FROM B MM
  WHERE MM.CATEGORY_NAME IN
  (SELECT CATEGORY_NAME FROM B
  GROUP BY CATEGORY_NAME
  HAVING COUNT(1) >1)
  FOR UPDATE
  效果如下:

  然后选择需要删除的数据。
  我们这边的表只有2个字段,所以可以用group by结果转存到临时表,再用临时表覆盖原表的方法洗数据。
  但更多的情况是:(1)字段多于两个;(2)且某个字段相同的记录,别的字段可能不同(即不完全相同)
  错误2:
  在给B表做备份时,想整表复制到新表中,原来经常使用:
  select * into new_table from old_table
  去做这样的事情。预期的结果是:在复制表结构的同时,将表中的数据同时复制到new_table中。
  结果,出现了下面的错误:

  为什么呢?
  原因:
  原来select into是PL/SQL的赋值语句!而这里的使用格式和赋值的格式是不一致的。
  所以,会报ORA-00905错误。
  解决:
  那么,PL/SQL中如何解决类似问题的呢?
  那是用create table,语句如下:
  --复制表结构和数据
  CREATE TABLE B1 AS SELECT * FROM B;
  AS后接一个查询语句。