簡體   English   中英

來自MySQL的SQL Server中的等效語法

[英]Equivalent syntax in SQL Server from mysql

SQL Server中是否有與mysql類似的任何等效語法

REPLACE INTO

[要么]

INSERT INTO ... ON DUPLICATE KEY UPDATE

例如 MySQL查詢

insert INTO supply_data values('1','be','dept','loc','team',4,2015,
1,2,3,4,5,6,7,8,9,10,11,12) on duplicate key update pid=pid and be=be

我正在嘗試將其轉換為T-SQL

您可以使用merge

MERGE supply_data AS t
    USING (SELECT '1','be','dept','loc', ...) AS s (pid, be, val_1, val_2, ...)
    ON (t.pid = s.pid and t.be = s.be)
WHEN MATCHED THEN 
    UPDATE SET clm_1 = val_1, clm_2 = s.val_2, ...
WHEN NOT MATCHED THEN
    INSERT (pid, be, clm_1, clm_2, ...)
    VALUES (pid, be, val_1, val_2, ...)

嘗試這個;

MERGE supply_data AS t 
    USING (
        SELECT 1, 'be','dept','loc','team', 2016,
        1, 1, 1, 1,
        1, 1, 1, 1,
        1, 1, 1, 1
    ) 
    AS s (
        pid, be, dept, location, team, aopyr,
        jansupply, febsupply, marsupply, aprsupply, 
        maysupply, junsupply, julsupply, augsupply,
        sepsupply, octsupply, novsupply, decsupply
    )
    ON (
        t.pid = s.pid and t.be = s.be and 
        t.location=s.location and t.team=s.team and 
        t.aopyr=s.aopyr
    ) 
WHEN MATCHED THEN
    UPDATE SET 
        jansupply = s.jansupply, febsupply = s.febsupply, 
        marsupply = s.marsupply, aprsupply = s.aprsupply,  
        maysupply = s.maysupply, junsupply = s.junsupply, 
        julsupply = s.julsupply, augsupply = s.augsupply, 
        sepsupply = s.sepsupply, octsupply = s.octsupply, 
        novsupply = s.novsupply, decsupply = s.decsupply  
WHEN NOT MATCHED THEN 
    INSERT (
        pid, be, dept, location, team, aopyr,
        jansupply, febsupply, marsupply, aprsupply, 
        maysupply, junsupply, julsupply, augsupply,
        sepsupply, octsupply, novsupply, decsupply
    ) 
    VALUES (
        s.pid, s.be, s.dept, s.location, s.team, s.aopyr,
        s.jansupply, s.febsupply, s.marsupply, s.aprsupply, 
        s.maysupply, s.junsupply, s.julsupply, s.augsupply,
        s.sepsupply, s.octsupply, s.novsupply, s. decsupply
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM