จากตัวอย่างคำสั่งด้านล่าง อยากทราบเกี่ยวกับคำสั่งบ้างตัว ว่าคืออะไร และประโยชน์ที่ได้รับคืออะไร
1. MERGE
2. WHEN MATCHED
3. WHEN NOT MATCHED
Code (SQL)
CREATE PROC UpsertYourTable
@Id int,
@Foo int,
@Bar varchar(10)
AS
MERGE YourTable WITH (HOLDLOCK) AS T
USING ( VALUES ( @Id, @Foo, @Bar ) )
AS source ( Id, Foo, Bar)
ON ( T.Id = source.Id )
WHEN MATCHED
THEN
UPDATE SET
Foo = source.Foo ,
Bar = source.Bar
WHEN NOT MATCHED
THEN
INSERT (Id, Foo , Bar)
VALUES
(@Id, @Foo , @Bar);