最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle中update和select 關聯(lián)操作

 更新時間:2022年01月14日 16:38:45   作者:Cream薄荷糖  
本文主要向大家介紹了Oracle數(shù)據(jù)庫之oracle update set select from 關聯(lián)更新,通過具體的內容向大家展現(xiàn),本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

1、介紹

本文主要向大家介紹了Oracle數(shù)據(jù)庫之oracle update set select from 關聯(lián)更新,通過具體的內容向大家展現(xiàn),希望對大家學習Oracle數(shù)據(jù)庫有所幫助。

工作中有個需求,現(xiàn)在新表中有一些數(shù)據(jù)跟老表的基本一樣,這樣只需要把老表中數(shù)據(jù)搬到新表中就可以了,同時把不同的字段修改下數(shù)據(jù)即可,在修改字段時發(fā)現(xiàn),需要指定一個條件,比如主鍵id,來修改某條記錄,這樣一條一條修改效率太低了,有沒有批量操作的方式呢?

goods表:

select gid,code,name,code2 from goods; 

init_goods表:

select code,name,code2 from init_goods;

2、解決方法

2.1、需求

goods表中code2根據(jù)init_goods表中code2更新;

2.2、錯誤演示

下面是一個錯誤的做法:

update goods set code2 = 
(select code2 from init_goods where init_goods.code = goods.code)

goods表數(shù)據(jù)無法更新,系統(tǒng)會一直卡主,知道崩潰;

2.3、解決方法

方法一:

update goods set code2 = 
(select code2 from init_goods where init_goods.code = goods.code)
where exists (select 1 from init_goods where init_goods.code = goods.code)

方法二:

update goods goods
set goods.code2 = (select init_goods.code2 from init_goods where init_goods.code = goods.code)
where goods.code = (select init_goods.code from init_goods where init_goods.code = goods.code)

注意:修改的列是code2,條件是 code ;

說明:

如果select 子句可以返回多行記錄,但返回適合where條件的記錄是唯一的,否則將會報返回單行的select子句返回多行的錯誤,因為 update只能跟據(jù)此處的where子句(內層where)進行相應記錄的匹配更新,一次只能是一條。

到此這篇關于Oracle update和select 關聯(lián)的文章就介紹到這了,更多相關Oracle update和select 關聯(lián)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

开阳县| 清流县| 垫江县| 宁城县| 东阿县| 手游| 彩票| 达尔| 太仓市| 大丰市| 石家庄市| 逊克县| 凯里市| 宕昌县| 宁晋县| 富裕县| 天长市| 突泉县| 瑞丽市| 昌图县| 宁德市| 宾阳县| 仙桃市| 绥宁县| 远安县| 大渡口区| 罗江县| 登封市| 南乐县| 景德镇市| 博罗县| 乐平市| 晋宁县| 岳阳县| 海原县| 开江县| 漾濞| 柞水县| 凤凰县| 仁布县| 二连浩特市|