Oracle中用一张表的字段更新另一张表的字段

发表于:2015-7-02 09:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Leon-LYH    来源:51Testing软件测试网采编

  接下来是删除重复的数据,执行下面语句进入编辑模式:
  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后接一个查询语句。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号