电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用Oracle 10g MERGE語句更新數據行

瀏覽:159日期:2023-11-29 19:17:12

在Oracle 9i R2版中引入的MERGE語句通常被稱作“更新插入”(upsert),因為使用MERGE可以在同一個步驟中更新(update)并插入(insert)數據行,對于抽取、轉換和載入類型的應用軟件可以節省大量寶貴的時間,比如向數據倉庫中加載數據,數據倉庫中沒有的數據行可以插入到數據倉庫中,而已經存在的數據行也同時被更新。

在MERGE語句引入的時候,需要同時使用一條UPDATE和一條INSERT語句,順序也是固定的(先使用UPDATE語句,然后是INSERT語句)。如果您只需要使用其中的某一條一句,您只需要使用現有的INSERT或者UPDATE語句,而不必使用MERGE語句,而刪除數據可以使用DELETE語句。

在Oracle 10g R1版中,MERGE語句發生了變化,UPDATE或INSERT語句不再是必須的,而是可選項,您可以兩者都用也可以都不用,而且,UPDATE語句也具備了DELETE的功能,您可以在同一個步驟中對現有的有效記錄進行升級并清理廢棄的記錄。

列表A創建了一個表格列出現有項目:項目號碼、標題、開始日期、進度完成比例以及員工對項目的響應,還創建了一個事務表格使用MERGE語句進行升級批處理。

列表A

DROP TABLE open_projects; DROP TABLE project_updates; CREATE TABLE open_projects (pno NUMBER(6) PRIMARY KEY, title VARCHAR2(40), startdate DATE, pctdone NUMBER(3), empno NUMBER(6) ); INSERT INTO open_projects VALUES (10, 'Inventory servers', '08-JAN-07',0, 206); INSERT INTO open_projects VALUES (20, 'Upgrade Oracle on SRV01','15-JAN-07', 0, 206); INSERT INTO open_projects VALUES (30, 'Conduct skills assessment','22-JAN-07', 0, 210); CREATE TABLE project_updates (action CHAR(1), pno NUMBER(6), pctdone NUMBER(3), empno NUMBER(6) ); INSERT INTO project_updates VALUES ('C', 10, 50, 214); INSERT INTO project_updates VALUES ('D', 20, NULL, NULL); COMMIT;

一個典型的MERGE語句從識別表格開始執行升級,而且對現有的記錄進行篩選測試:

MERGE INTO open_projects op USING project_updatespu ON (op.pno = pu.pno) ...

表格open_projects會接受更新的數據,而project_updates表格則不會改變,如果項目號碼(pno)在兩個表格中都一樣,那么數據行則被認為是相同的。

MERGE語句剩下的部分是更新語句,以及DELETE WHERE語法。

... WHEN MATCHED THEN UPDATE SET pctdone = pu.pctdone, empno = pu.empno DELETE WHERE pu.action = 'D';

列表B展示了MERGE語句運行前后的表格情況。

列表B

SQL> @mergedel_b PNO TITLE STARTDATE PCTDONE EMPNO ---------- ---------------------------------------- 10 Inventory servers 08-JAN-07 0 206 20 Upgrade Oracle on SRV01 15-JAN-07 0 206 30 Conduct skills assessment 22-JAN-07 0 210 A PNO PCTDONE EMPNO - ---------- ---------- ---------- C 10 50 214 D 20 2 rows merged. PNO TITLE STARTDATE PCTDONE EMPNO ---------- ---------------------------------------- 10 Inventory servers 08-JAN-07 50 214 30 Conduct skills assessment 22-JAN-07 0 210 A PNO PCTDONE EMPNO - ---------- ---------- ---------- C 10 50 214 D 20 SQL> spool off

第一個事務對第10號項目進行了改變(操作‘c’),項目完成比例從0變成了50,項目員工人數變成了214人;第二個事務產出了第20號項目,“隨后”的列表展示了刪除后的狀態,而project_updates表格沒有發生改變。這個例子展示了這些語句并不是必須的,而且在MERGE語句中也并不需要使用INSERT語句。

標簽: Oracle 數據庫
相關文章:
主站蜘蛛池模板: 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 山东柳店新能源科技有限公司| 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 飞飞影视_热门电影在线观看_影视大全| 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 工业设计,人工智能,体验式3D展示的智能技术交流服务平台-纳金网 J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 美国HASKEL增压泵-伊莱科elettrotec流量开关-上海方未机械设备有限公司 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 中矗模型-深圳中矗模型设计有限公司 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 最新电影-好看的电视剧大全-朝夕电影网| 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 |