欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1、介紹

本文主要向大家介紹了Oracle數(shù)據(jù)庫之oracle update set select from 關(guān)聯(lián)更新,通過具體的內(nèi)容向大家展現(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子句(內(nèi)層where)進行相應記錄的匹配更新,一次只能是一條。

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

相關(guān)文章

  • ORACLE鎖機制深入理解

    ORACLE鎖機制深入理解

    若對并發(fā)操作不加控制就可能會讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性,加鎖是實現(xiàn)數(shù)據(jù)庫并發(fā)控制的一個非常重要的技術(shù),需要的朋友可以了解下
    2012-12-12
  • Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯誤問題分析

    Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯誤問題分析

    這篇文章主要介紹了Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯誤,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • LINUX下Oracle數(shù)據(jù)庫用戶創(chuàng)建方法詳解

    LINUX下Oracle數(shù)據(jù)庫用戶創(chuàng)建方法詳解

    這篇文章主要介紹了LINUX下Oracle數(shù)據(jù)庫用戶創(chuàng)建方法,結(jié)合實例形式較為詳細的分析總結(jié)了Oracle數(shù)據(jù)庫用戶創(chuàng)建的具體步驟與相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • oracle導入導出表時因一個分號引發(fā)的慘案

    oracle導入導出表時因一個分號引發(fā)的慘案

    這篇文章主要給大家介紹了關(guān)于oracle導入導出表時因一個分號引發(fā)的慘案,文中通過示例代碼介紹的非常詳細,對大家學習或者使用oracle具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Oracle表空間與權(quán)限的深入講解

    Oracle表空間與權(quán)限的深入講解

    Oracle表空間(tablespaces)是一個邏輯的概念,真正存放數(shù)據(jù)的是數(shù)據(jù)文件(data files),下面這篇文章主要給大家介紹了關(guān)于Oracle表空間與權(quán)限的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Linux下啟動Oracle服務和監(jiān)聽程序步驟

    Linux下啟動Oracle服務和監(jiān)聽程序步驟

    這篇文章給大家介紹了Linux下啟動Oracle服務和監(jiān)聽程序步驟,在文章末尾給大家介紹了Oracle數(shù)據(jù)庫的啟動和關(guān)閉方式小結(jié),感興趣的朋友一起看看吧
    2017-08-08
  • Oracle數(shù)據(jù)庫如何使用exp和imp方式導數(shù)據(jù)

    Oracle數(shù)據(jù)庫如何使用exp和imp方式導數(shù)據(jù)

    在平時的工作中,我們難免會遇到要備份數(shù)據(jù),當然用pl/sql可以實現(xiàn)通過導出數(shù)據(jù)來備份數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫如何使用exp和imp方式導數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Oracle 語句優(yōu)化分析說明

    Oracle 語句優(yōu)化分析說明

    Oracle 語句優(yōu)化技巧,大家可以參考使用,使你的oracle運行效率更高更好。
    2009-09-09
  • Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)步驟詳解

    Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)步驟詳解

    這篇文章主要給大家介紹了關(guān)于Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)的相關(guān)資料,Oracle表對數(shù)據(jù)進行月度分區(qū)是一種將數(shù)據(jù)分組的有效方法,此方法是將數(shù)據(jù)根據(jù)它們所屬時間段將其存儲為不同分區(qū),需要的朋友可以參考下
    2023-11-11
  • oracle安裝出現(xiàn)亂碼等相關(guān)問題

    oracle安裝出現(xiàn)亂碼等相關(guān)問題

    oracle安裝過程中出現(xiàn)亂碼等一系列相關(guān)問題,本文將介紹如何解決,需要了解的朋友可以參考下
    2012-11-11

最新評論