最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL中merge into用法詳解

 更新時間:2025年04月10日 09:33:33   作者:CtrlC V型程序員  
merge into 用法它是一種常見的SQL語法,用于更新,插入和刪除表中的數(shù)據(jù),本文給大家介紹SQL中merge into用法,感興趣的朋友一起看看吧

從備份表中更新字段到正式表中,使用 UPDATE 批量更新大量的數(shù)據(jù),會出現(xiàn)效率低下,有時候甚至卡死的情況,后面通過使用 MERGE INTO 代替 UPDATE 執(zhí)行批量更新,會提升執(zhí)行效率。

MERGE INTO語法如下:

MERGE INTO table_name alias1 
USING (table|view|sub_query) alias2
ON (join condition) 
WHEN MATCHED THEN 
    UPDATE  
    SET col1 = col1_val1, 
        col2 = col2_val2 
WHEN NOT MATCHED THEN 
    INSERT (column_list) VALUES (column_values); 

其中,table_name 指的是更新的表,using()里邊的指的是數(shù)據(jù)來源表/視圖/子查詢結果集,condition指的是連接條件,如果滿足連接條件,set 字段1=值1,字段2=值2...

如果連接條件不滿足,則停止更新進行插入。
下面我們來舉例說明:

先創(chuàng)建被更新表merge_target,并往其中插入一條數(shù)據(jù)用來更新;

再創(chuàng)建更新表merge_source,用來向被更新表插入數(shù)據(jù);

下面準備merge into腳本:

MERGE INTO merge_target target 
USING (SELECT B.name,B.age,B.target_id FROM merge_source B) source
ON (target.id=source.target_id) 
WHEN MATCHED THEN 
    UPDATE 
    SET target.name = source.name, 
        target.age = source.age 
WHEN NOT MATCHED THEN 
    INSERT(target.name,target.age) VALUES (source.name,source.age); 

結果如下:

另:MySql不支持merge into 語法。

相關文章

最新評論

广昌县| 黔西| 灵丘县| 横山县| 巍山| 惠州市| 张家港市| 筠连县| 文登市| 庐江县| 霸州市| 西峡县| 基隆市| 平塘县| 汕头市| 来安县| 海南省| 西藏| 乌拉特前旗| 张家口市| 商丘市| 始兴县| 铁岭市| 闻喜县| 日照市| 盱眙县| 丰镇市| 都昌县| 绥滨县| 新巴尔虎右旗| 阜新市| 娱乐| 娄底市| 上犹县| 乐至县| 汉源县| 凤阳县| 南阳市| 方山县| 布尔津县| 正定县|