1. 程式人生 > >oracle批量更新一個表中的一個欄位

oracle批量更新一個表中的一個欄位

最近遇到一個sql問題。老大們讓我把一個表中的一列資料做更新。更新的內容和對照表有給提供。後來仔細檢視資料 總結出這樣的sql

語句。

update 更新表 b set(b.需要更新的欄位) =  (
select a.參考更新欄位 from 對照表 a where a.對照表舊欄位=b.更新表需要更新的欄位
)

注意:一定要用where條件。

這個sql的意思試試活把b表的需要更新欄位通過查詢對照表與原來的表用where做連線,把需要更新的欄位查出來。這樣就可以進行批量更新了。

相關推薦

MySQL如何用一個更新一個中欄

1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多個列 update a, b set a.title=b.title, a.name=b.name wh

SQL如何獲取一個數據庫的所有的名稱、一個所有的名稱

1.查詢資料庫中的所有資料庫名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查詢某個資料庫中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY

mysql如何查詢一個所有的名字

用easyui datagrid 想動態生成列,在伺服器端執行,由於欄位用英文,所以需要查詢相應的註釋作為datagrid的表頭  mysql不區分大小寫,所以下面的大寫都可以換成小寫; select COLUMN_NAME,column_comment from INFORMATION_SCHEMA.Co

如何oracle 某一使用者授予查詢另一個使用者某張的許可權,以及更新另一使用者某些

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Oracle 將一張的某些更新到本條記錄的另一個

原因:是因為某張表原來的排序欄位因為並非是專門用來排序的,後來新加了一個專門用來排序的欄位,想把現在的排序欄位內容 copy 的新的欄位 ,   但是 一條一條更改 太麻煩了突然想到 oracle 好像支援這樣的寫法  於是就百度了這個函式,先寫在這裡吧 省的以後在忘了。

MySQL將一個的某個更新到另外一張

今天,遇到一個需求是要將MySQL的一個表中的欄位更新到另一個表中,開始,我嘗試用以下的SQL解決:   UPDATE t_order_temp SET price=t_order.amount  FROM t_order WHERE t_order_temp

解決一個的資料由同加權和得到(用觸發器解決)

本次實驗一張表中的90%的資料由相關連的外表(b表)資料得到,即用觸發器得到。 https://blog.csdn.net/IT_95/article/details/84064958 那麼如何實現這張表裡面的資料得到一個總的值放在一個欄位呢? 第一時間的想法是在這張表(b表)裡面加觸發

資料庫一個的某內容匯入到另一個數據庫的某

示例:insert into user (name)select namefrom A.dbo.user例項:匯入會員表:(member_info,要匯入的目標表,shualodb.dbo.KS_User,hualodb(另個數據庫)的源表)insert member_info(memberId,member

MySQL之重複只取第一個

有時在我們的SQL表中包含很多同名的資料,這樣可以將多維度的資料儲存的一個表中,但是對於查詢會帶來一些麻煩。 如上圖,如果我們只想取每個學校的第一條資料:我們可以使用DISTINCT去重 SQL: select DISTINCT history.school Fro

excel使用vba寫一個駝峰工具,用來將資料改為程式碼

寫之前在網上沒有找到自己想要的效果,就想著自己寫一下,感覺還挺簡單 因為以前從來沒有接觸過vba,所以查了一些資料。想把過程記錄一下 下面就是最終想要的效果圖 把程式碼也貼下吧 Sub tuoFeng()     Dim preValue, finValue As Str

php判斷是否等於一個值,以及ajax連線失敗的問題,以及正則驗證輸入框的問題

$sql="select * FROM `user` WHERE `name`= '{$name}'";//  '小明'  {$name}  這裡還必須帶引號     $result=mysqli_query($link,$sql);    //   上面的後面可以用and來

SQLserver一個查詢單個在這個的佔比

select t1.brand 品牌, t1.disc as disc,t1.price as price,t1.val as val,t1.qty as qty , Convert(decimal(20,2),t1.qty/t3.totalsell_qty*100) a

oracle 實現某個的自動增加(相當於有些資料庫的自增列)

說明:sqlserver 中設定某個列的自動增加是非常容易的,只需要在列後面加上 auto_increment即可,但是oracle在使用sql語句建立表時時不支援這種自增的。 那麼要實現自增列怎麼辦? 三步搞定 --1.建立表----- CREATE TABLE use

oracle資料庫與系統關鍵字衝突 in jdbc

可以使用雙引號將發生衝突的欄位名稱引起來,還是報異常怎麼辦,  將這個欄位名稱大寫 最保險的方法就是平時寫sql語句時,養成大寫的習慣,這樣既能解決上述錯誤,還有可能解決不同資料庫之間的方言的差異 比如說,現在用的是mysql資料庫,有這麼一條sql語句: insert

oracle判斷是否存在,在資料庫是否存在

SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'aaaa' AND COLUMN_NAME = 'bbb' 這個語句是判斷aaaa表中bbb欄位是否存在,如果存在 count的結果就是1,如果不存在當然就是

orcale 查找出兩個相同的不同的值minus

1.user表 SELECT user_id FROM OA_COMPANY_USER 2.專案表中投入過的人員 SELECT DISTINCT a.USER_ID FROM OA_COMPANY_USER a, OA_PM_PERSON_INPUT b WHERE a.

mysql資料庫指定值在所有所有的替換

MySQL資料庫:   指定值在資料庫中所有表所有欄位值的替換(儲存過程):   1.寫一個儲存過程,查指定資料庫中所有的表名:  CREATE PROCEDURE init_replace(in orig_str varchar(100),in new_str varchar(100),in db_n

Hive如何根據某個動態分割槽

使用hive儲存資料時,需要對做分割槽,如果從kafka接收資料,將每天的資料儲存一個分割槽(按天分割槽),儲存分割槽時需要根據某個欄位做動態分割槽,而不是傻傻的將資料寫到某一個臨時目錄最後倒入到某一個分割槽,這是靜態分割槽。   Hive動態分割槽步驟如下: 1、建立某一個源表模擬資料來源並

【java學習筆記】MyBatis當實體類的屬性名和名不一樣時的解決方法

在使用MyBatis開發DAO層時,當實體類中的屬性名和表中的欄位名不一樣時,查詢出來的值為null,此時有3種解決方法 解決方法1                在Mapper.xml對映檔案中,寫SQL語句時起別名 解決

使用Sparksql求資料庫單列出現次數最高的值,以及出現的次數

該方法是基於Sparksql的內建函式進行計算 我先上程式碼: dataset和columnName作為引數,dataset是什麼就不說了,columnName就是我要執行的欄位名 首先通過dataset.groupBy(columnName)對該欄位進行分組