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

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

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

1、介紹

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

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

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、錯(cuò)誤演示

下面是一個(gè)錯(cuò)誤的做法:

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

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

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 ;

說(shuō)明:

如果select 子句可以返回多行記錄,但返回適合where條件的記錄是唯一的,否則將會(huì)報(bào)返回單行的select子句返回多行的錯(cuò)誤,因?yàn)?update只能跟據(jù)此處的where子句(內(nèi)層where)進(jìn)行相應(yīng)記錄的匹配更新,一次只能是一條。

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

相關(guān)文章

最新評(píng)論

梁山县| 八宿县| 修武县| 哈尔滨市| 永宁县| 安远县| 徐水县| 湄潭县| 松潘县| 武山县| 彰化市| 郁南县| 拉萨市| 石柱| 滦南县| 都匀市| 铜陵市| 定南县| 灵台县| 新宁县| 承德县| 息烽县| 扎囊县| 洛阳市| 和田市| 清涧县| 海淀区| 崇明县| 扎兰屯市| 宜兴市| 鹤岗市| 循化| 南靖县| 长海县| 文成县| 湘西| 固阳县| 宁德市| 天台县| 肃北| 丹东市|