问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle 将一个表中几个字段更新到另一个表中

发布网友 发布时间:2022-04-08 00:27

我来回答

4个回答

懂视网 时间:2022-04-08 04:48

D USING B ON (D.CATEGORY_NAME = B.CATEGORY_NAME /*AND B IS NULL*/) WHEN MATCHED THEN UPDATE SET RELAVANCE_PROPETY = B.RELAVANCE_PROPETY

关于MERGE INTO的详细讲解

但是,在此过程中发生了错误:

错误1:技术分享

技术分享

在执行MERGE INTO操作的时候,发生了ORA-30926错误。

该错误的原因是什么?如何解决呢?

原因:

  百度了一下,大体知道是因为表B含有重复的Key,这里的Key就是条件中的CATEGORY_NAME,从条件:

D.CATEGORY_NAME = B.CATEGORY_NAME

可以看出。

补充:

  技术分享

解决:

  知道了上面的原因,我们要做的就是把有重复CATEGORY_NAME的记录删除。

用下面的SQL获得哪些CATEGORY_NAME的值重复了:

SELECT CATEGORY_NAME,COUNT(1) FROM B
GROUP BY CATEGORY_NAME
HAVING COUNT(1) >1

效果如下:

技术分享

接下来是删除重复的数据,执行下面语句进入编辑模式:

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后接一个查询语句。

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

标签:

热心网友 时间:2022-04-08 01:56

如果下面的子查询返回多条数据,是会报错的。

SELECT DD, EE, FF
         FROM TEST_TABLE2 T2
        WHERE 1=1


第 1 行出现错误:

ORA-01427: 单行子查询返回多个行


如果test_table2 表中只有一条数据,那么是没有问题的。



我觉得你这两个表一定是要有关联关系的,不然这个update语句没什么意义。

比如test_table1 表中有一个id字段,一对一关联着test_table2 表中的id字段,那么可以这样写:


UPDATE TEST_TABLE1 T1
  SET (T1.AA, T1.BB, T1.CC) =
      (SELECT DD, EE, FF
         FROM TEST_TABLE2 T2
        WHERE t1.id=t2.id)

追问对的,肯定是有关联,而且还在就报你说的错误了,最后我用了exists才弄好了,,,

热心网友 时间:2022-04-08 03:14

你如果要是插入记录的话可以这么写
insert INTO TEST_TABLE1(AA,BB,CC)as
(SELECT DD, EE, FF FROM TEST_TABLE2 T2)

热心网友 时间:2022-04-08 04:49

如果test_table1和test_table2是关联的才能叫更新,采用renfengjun1986的方法即可,
如果两个表是没有关联的那就应该叫插入数据,采用nietiezheng 的方法。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 哪个网站可以查询机动车车牌的真假 有什么网站能查询车牌,并辨别其真伪? 无主之地2橙色武器问题 无主之地2的物品道具 无主之地2珍稀武器Cobra怎么获得 具体方法步骤详解 无主之地2武器颜色 无主之地2里任务给的极品枪都是哪些 《无主之地2》武器旁边的星星是什么意思 法国留学有什么重要的考试 出国留学,法语考试 无主之地2武器颜色排名的疑问= =? 关于哈利波特的名字 无主之地2种马给什么枪 为什么你那么好,对女人却没有吸引力? 百度到底有多少人集卡? 4月中国重卡市场旺销19.1万辆!东风无人驾驶集卡赋能5G智慧港口 无人驾驶卡车已经开始港口运输,公路运输还会远吗? 中国大车司机以后会不会陆续失业? 杭州人很快能打无人出租车了!独家对话背后技术运营商 小天鹅tb75-v3188clh洗衣机怎么样 周星驰多次在电影中使用9725,这到底是什么梗? 粤语 你老味 是什么意思 ? “你老味”什么意思? 广州话:“翻屋企”是什么意思??? 709394是什么意思啊? 嬲 是什么意思 白话,揸FIT,什么意思? 钟你背梅粤语意思 粤语说直落是什么意思? LOL皎月开玩笑说的那句粤语是什么意思 揸fit人什么意思 广州话濑野是什么意思? 求丁香花故事原文??? 杨明写的丁香花文章主要运用了什 么写作方法? 丁香结一文作者从哪两个角度描写了丁香花的形状颜色和气味全文寄托了作... 匆匆那年中《一朵丁香花》的原著 一朵丁香花 乔燃原文 分析杜甫的《咏丁香》中,丁香的形象和象征意义 求陆龟蒙七绝《丁香》翻译。 win10回收站自定义大小不可选,有方法吗?