Oracle批量更新數據
數據管理維護工作經常會遇到需要批量更新數據的場景,本文從單語句、條件語句和循環語句三個方面詳細講解批量更新數據的方法。
1、單語句
場景:UNIFORM校服統計表,男生(SEX:男)校服費(FEE)100元,女生(SEX:女)校服費150元。
2、子句
場景:SCORE成績表,每個人(ID,NAME)都有語文(CHINESE)、數學(MATH)、英語(ENGLISH)三門課的成績,現在需要更新TOTALSCORE總成績表中每個人(ID,NAME)的總成績(TOTAL)。括弧內的內容即為子句:
3、循環
場景:
STUDENT學生表
ID NAME SEX ROOMNO
1 張三 男
2 李四 男
3 小麗 女
4 小紅 女
……
SYLLABUS選課表
ID CURRICULUM
1 生理衛生
2 青春期性教育
3 青春期性教育
4 生理衛生
……
CLASSROOM教室表
CURRICULUM SEX ROOMNO
生理衛生 男 101
生理衛生 女 102
青春期性教育 男 103
青春期性教育 女 104
由於選修課程為生理課,每一門課程根據男女分成兩個不同的教室,現需要根據選課表和教室表安排每一個學生所上課的教室。
首先,編寫select語句,根據學生ID-學生性別SEX-課程名稱CURRICULUM-ROOMNO的對應關係,找到學生對應的教室。
ID NAME SEX CURRICULUM ROOMNO
1 張三 男 生理衛生 101
2 李四 男 青春期性教育 103
3 小麗 女 青春期性教育 104
4 小紅 女 生理衛生 102
這樣,就找到了學生和教室的關聯,編寫循環語句即可,套用格式:
語句如下:
總結:在進行批量更新時,大多符合這三種情況。單句和子句比較容易理解,循環適用於多個表複雜對應關係的情況,需要先寫select語句,捋清每個表的內容,找到來源欄位和目標欄位之間的對應關係,之後套循環格式即可。
TAG:21DBA之路 |