insert all (復合表插入),是將一個查詢結果同時插入多個表中的功能。使用insert all的好處是通過讀取一次源表就可以插入多張目標表,減少重復讀取的開銷。
成都創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站制作、成都做網站、外貿營銷網站建設、克拉瑪依區網絡推廣、重慶小程序開發、克拉瑪依區網絡營銷、克拉瑪依區企業策劃、克拉瑪依區品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯公司為所有大學生創業者提供克拉瑪依區建站搭建服務,24小時服務熱線:13518219792,官方網址:m.2m8n56k.cn
語法:
INSERT [ALL] [conditional_insert_clause]
[insert_into_clause value_clause] (subquery);
conditional_insert_clause is:
[ALL] [FIRST]
[WHEN condition THEN] [insert_into_clause value_clause]
[ELSE] [insert_into_clause value_clause]
all:不考慮先后關系,只要滿足條件,就全部插入;
first:考慮先后關系,如果有數據滿足第一個when條件又滿足第二個when條件,則執行第一個then插入語句,第二個then就不插入第一個then已經插入過的數據了。
其區別也可描述為,all只要滿足條件,可能會作重復插入;first首先要滿足條件,然后篩選,不做重復插入
示例:
insert all when c1<1000 then into samall_orders values (oid,c1,sid,cid) when c1 <2000 then into medium_orders values (oid,c1,sid,cid) when c1>2000 and c1 <2900 then into large_orders vlaues (oid,c1,sid,cid) else into special_orders select oid,c1,sid,cid from orders;
指定insert first 當第一個when條件成立時,執行該when條件后的語句,并且跳過后面的 WHEN 子句(后面的when語句都不再考慮滿足第一個When子句的記錄,即使該記錄滿足when語句中的條件)。
insert first when c1<1000 then into samall_orders values (oid,c1,sid,cid) when c1 <2000 then into medium_orders values (oid,c1,sid,cid) when c1>2000 and c1 <2900 then into large_orders vlaues (oid,c1,sid,cid) else into special_orders select oid,c1,sid,cid from orders;
上面兩條語句區別在第二個when條件,insert all 中 第二個條件會插入orders 表中c1<2000的記錄,insert first 中第二個when條件會插入orders表中1000<c1<2000的記錄,insert first中插入第二個when子句中的表時排除了第一個when條件的記錄,
當前題目:oracleinsertall復合表插入
標題來源:http://m.2m8n56k.cn/article30/jdcsso.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、網站維護、商城網站、移動網站建設、微信公眾號、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯