Skip to content Skip to sidebar Skip to footer

Merge Statement Delete Alternative In Sql Server

I have a Query using T-SQL MERGE Statement. Due to performance issues I am re writing the Query using IF Exists Update and If Not Exists Insert. I am able to write Insert/Update wi

Solution 1:

a sample script to be embedded between begin and end in proc

MERGE dbo.Tablet AS TARGET
     USING dbo.QueryView AS SOURCE 
    ON ( 
        TARGET.[ID] = SOURCE.[ID] 
        )

 WHEN MATCHED 

  THENUPDATESET

 TARGET.[ID] = SOURCE.[ID]

 WHENNOT MATCHED BY TARGET THENINSERT (ID, [Name]  )
 VALUES (SOURCE.[ID], SOURCE.[Name]  )

 WHENNOT MATCHED BY SOURCE THENDELETE;

Solution 2:

Try

DELETE T
FROM member_topic T 
WHERENOTEXISTS(SELECT1FROM someOtherTable S 
                 WHERE T.mt_member=S.mt_member)

Solution 3:

DELETE t
FROM member_topic t
    LEFTJOIN someOtherTable s ON t.mt_member = s.mt_member
WHERE s.mt_member ISNULL

Post a Comment for "Merge Statement Delete Alternative In Sql Server"