• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            db2mergeinto語法

            更新時間:2023-12-14 05:10:29 閱讀: 評論:0

            2023年12月14日發(作者:殺病毒)

            -

            db2mergeinto語法

            db2mergeinto語法

            MERGE INTO table_name alias1

            USING (table|view|sub_query) alias2

            ON (join condition)

            WHEN MATCHED THEN

            UPDATE table_name SET col1 = col_val1,col2 = col2_val

            WHEN NOT MATCHED THEN

            INSERT (column_list) VALUES (column_values)

            關鍵字、參數

            into子句

            在into子句中指定所要修改或者插入數據的目標表

            using子句

            在using子句中指定用來修改或者插入的數據源。數據源可以是表、視圖或者一個子查詢語句。

            on子句

            在on子句中指定執行插入或者修改的滿足條件。

            when matched | not matched

            用該子句通知 如何對滿足或不滿足條件的結果做出相應的操作。可以使用以下的兩類子句。

            merge_update子句

            merge_update子句執行對目標表中的字段值修改。當在符合on子句條件的情況下執行。如果修改子句執行,則目標表上的修改觸發器將被觸發。

            merge_update子句

            merge_update子句執行對目標表中的字段值修改。當在符合on子句條件的情況下執行。如果修改子句執行,則目標表上的修改觸發器將被觸發。

            限制:當修改一個視圖時,不能指定一個default值

            merge_inrt 子句

            merge_inrt子句執行當不符合on子句條件時,往目標表中插入數據。如果插入子句執行,則目標表上插入觸發器將被觸發。

            限制:當修改一個視圖時,不能指定一個default值

            MERGE INTO BONUSES D

            USING (SELECT EMPLOYEE_ID, SALARY, DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID = 80) S

            ON (EE_ID = EE_ID)

            WHEN MATCHED THEN UPDATE SET = + *.01

            WHEN NOT MATCHED THEN INSERT (EE_ID, ) VALUES (EE_ID, *0.01);

            MERGE INTO XCMDTRANSFERSTATE AS T

            USING TABLE (VALUES(?,?,?,?,?,?)) T1(DATASNO,EXTERIORSYSTEM,STATUS,DATA_TIME,MARKFORDELETE,DATATRANSFERNO)

            ON (ANSFERNO = ANSFERNO)

            WHEN MATCHED THEN update t O = O,ORSYSTEM = ORSYSTEM, =

            ,_TIME = _TIME,RDELETE = RDELETE

            WHEN NOT MATCHED THEN INSERT (DATASNO,EXTERIORSYSTEM,STATUS,CREATE_TIME,MARKFORDELETE,DATATRANSFERNO) VALUES

            (O,ORSYSTEM,,_TIME,RDELETE,ANSFERNO

            MERGE INTO EMPLOYE AS EM

            USING MANAGER AS MA

            ON EID=RID

            WHEN MATCHED AND < THEN UPDATE SET =

            WHEN MATCHED AND > THEN SIGNAL SQLSTATE '70001' SET MESSAGE_TEXT = '>'

            WHEN NOT MATCHED THEN INSERT VALUES (RID,,)

            ELSE IGNORE;

            -----

            DB2 Merge 語句的作用非常強大,它可以將一個表中的數據合并到另一個表中,在合并的同時可以進行插入、刪除、更新等操作。我們還

            是先來看個簡單的例子吧,假設你定義了一個雇員表(employe),一個經理表(manager),如下所示:

            ---雇員表(EMPLOYE)

            CREATE TABLE EMPLOYE (

            EMPLOYEID INTEGER NOT NULL,---員工號

            NAME VARCHAR(20) NOT NULL,---姓名

            SALARY DOUBLE---薪水

            );

            INSERT INTO EMPLOYE (EMPLOYEID,NAME,SALARY) VALUES

            (1,'張三',1000),

            (2,'李四',2000),

            (3,'王五',3000),

            (4,'趙六',4000),

            (5,'高七',5000);

            --經理表(MANAGER)

            CREATE TABLE MANAGER (

            EMPLOYEID INTEGER NOT NULL,---經理號

            NAME VARCHAR(20) NOT NULL,---姓名

            SALARY DOUBLE---薪水

            );

            INSERT INTO MANAGER (MANAGERID,NAME,SALARY) VALUES

            (3,'王五',5000),

            (4,'趙六',6000);

            經過一段時間,你發現這樣的數據模型,或者說表結構設計簡直就是一大敗筆,經理和雇員都是員工嘛,為什么要設計兩個表呢?發現錯誤

            后就需要改正,所以你決定,刪除經理表(MANAGER)表,將MANAGER 表中的數據合并到EMPLOYE 表中,仔細分析發現,王五在兩

            個表中都存在(可能是干的好升官了),而劉八在EMPLOYE 表中并不存在,現在,我們要求把EMPLOYE 表中不存在的MANAGER都插

            入到EMPLOYE 表中,存在的更新薪水。該怎么辦呢?這個問題并不難,通常,我們可以分兩步,如下所示:

            --更新存在的

            UPDATE EMPLOYE AS EM SET SALARY=(SELECT SALARY FROM MANAGER WHERE MANAGERID=EID)

            WHERE EMPLOYEID IN (

            SELECT MANAGERID FROM MANAGER

            );

            ---插入不存在的

            INSERT INTO EMPLOYE (EMPLOYEID,NAME,SALARY)

            SELECT MANAGERID,NAME,SALARY FROM MANAGER WHERE MANAGERID NOT IN (

            SELECT EMPLOYEID FROM EMPLOYE

            );

            上面的處理是可以的,但是我們還可以有更簡單的方法,就是用Merge語句,如下所示:

            MERGE INTO EMPLOYE AS EM

            USING MANAGER AS MA

            ON EID=RID

            WHEN MATCHED THEN UPDATE SET =

            WHEN NOT MATCHED THEN INSERT VALUES (RID,,);

            在上面的處理中,我們用經理表(MANAGER)的薪水更新了雇員表(EMPLOYE)的薪水,假設現在要求,如果經理表(MANAGER)的

            薪水>雇員表(EMPLOYE)的薪水的時候更新,否則不更新,怎么辦呢?如下:

            -1

            MERGE INTO EMPLOYE AS EM

            USING MANAGER AS MA

            ON EID=RID

            WHEN MATCHED AND < THEN UPDATE SET =

            WHEN NOT MATCHED THEN INSERT VALUES (RID,,);

            -2

            USING MANAGER AS MA

            ON EID=RID

            WHEN MATCHED AND < THEN UPDATE SET =

            WHEN NOT MATCHED THEN INSERT VALUES (RID,,)

            el ignore

            不仔細的朋友可能沒有看出上面兩條語句的區別,哈哈,請仔細對比一下這兩條語句。上面的語句中多了ELSE IGNORE語句,它的意思正

            如它英文的意思,其它情況忽略不處理。

            如果你認為理論上應該不存在>的數據,如果有,說明有問題,你想拋個異常,怎么辦?如下:

            MERGE INTO EMPLOYE AS EM

            USING MANAGER AS MA

            ON EID=RID

            WHEN MATCHED AND < THEN UPDATE SET =

            WHEN MATCHED AND > THEN SIGNAL SQLSTATE '70001' SET MESSAGE_TEXT =

            '>'

            WHEN NOT MATCHED THEN INSERT VALUES (RID,,)

            ELSE IGNORE;

            對于>的情況,如果你不想拋異常,而是刪除EMPLOYE中的數據,怎么辦?如下:

            MERGE INTO EMPLOYE AS EM

            USING MANAGER AS MA

            ON EID=RID

            WHEN MATCHED AND < THEN UPDATE SET =

            WHEN MATCHED AND > THEN DELETE

            WHEN NOT MATCHED THEN INSERT VALUES (RID,,)

            ELSE IGNORE;

            -

            db2mergeinto語法

            本文發布于:2023-12-14 05:10:28,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1702501829245876.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:db2mergeinto語法.doc

            本文 PDF 下載地址:db2mergeinto語法.pdf

            標簽:子句   修改   表中
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 久久午夜无码鲁丝片直播午夜精品| 国产美女遭强高潮网站| 极品少妇的粉嫩小泬看片| 久热爱精品视频线路一| 秋霞在线观看片无码免费不卡| 亚洲综合国产精品第一页| 国产午夜91福利一区二区| 欧美区在线| 九九热视频在线观看一区| 亚洲av片在线免费观看| 精品国产粉嫩内射白浆内射双马尾| 国产午夜福利精品视频| h动态图男女啪啪27报gif| 免费午夜无码片在线观看影院 | 国产粉嫩美女一区二区三| 五月天国产成人av免费观看| 成人免费在线播放av| 天天综合亚洲色在线精品| 亚洲精品国产综合久久一线| 国产欧亚州美日韩综合区| 做暖暖视频在线看片免费| 亚洲精品美女一区二区| 欧洲亚洲精品免费二区| 爆乳日韩尤物无码一区| 亚洲精品成人一二三专区| 日韩国产亚洲欧美成人图片| 丝袜美腿亚洲一区在线| 国产成人综合在线女婷五月99播放 | 韩国无码AV片在线观看网站| 艳妇乳肉豪妇荡乳在线观看| 久久人人97超碰a片精品| 自拍偷自拍亚洲精品情侣| 日本女优中文字幕在线一区| 日韩在线一区二区每天更新| 国产一区二区三区不卡视频| 欧美色欧美亚洲高清在线观看| 成人亚欧欧美激情在线观看| 亚洲色成人WWW永久在线观看 | 黄色亚洲一区二区三区四区| 国产成人精品无码免费看| 亚洲第一区二区快射影院|