“Merge” style operation with literal values?

后端 未结 3 863
深忆病人
深忆病人 2020-12-29 08:00

I have a table containing a student-grade relationship:

Student   Grade   StartDate   EndDate
   1        1    09/01/2009    NULL
   2        2    09/01/2010         


        
3条回答
  •  渐次进展
    2020-12-29 08:05

    Simply:

    --Arrange
    
    CREATE TABLE dbo.Product
    (
        Id   INT IDENTITY PRIMARY KEY,
        Name VARCHAR(40),   
    )
    GO
    
    --Act
    
    MERGE INTO dbo.Product AS Target 
    USING 
    (
        --Here is the trick :)
    
        VALUES 
            (1, N'Product A'),
            (2, N'Product B'),
            (3, N'Product C'),
            (4, N'Product D')
    ) 
    AS 
    Source 
    (
         Id,
         Name
    ) 
    
    ON Target.Id= Source.Id
    
    WHEN NOT MATCHED BY TARGET THEN 
    
    INSERT 
    (
          Name
    ) 
    VALUES 
    (
          Name
    );
    

提交回复
热议问题