Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL Server 2008 में MERGE कमांड का उपयोग करके स्रोत से कैसे हटाएं?

आप तालिका चर में संशोधित/सम्मिलित पंक्तियों को कैप्चर करने के लिए आउटपुट क्लॉज का उपयोग कर सकते हैं और मर्ज के बाद डिलीट स्टेटमेंट के साथ इसका उपयोग कर सकते हैं।

DECLARE @T TABLE(EmployeeID INT);

MERGE Target1 AS T
USING Source1 AS S
ON (T.EmployeeID = S.EmployeeID) 
WHEN NOT MATCHED BY TARGET AND S.EmployeeName LIKE 'S%' 
    THEN INSERT(EmployeeID, EmployeeName) VALUES(S.EmployeeID, S.EmployeeName)
WHEN MATCHED 
    THEN UPDATE SET T.EmployeeName = S.EmployeeName
WHEN NOT MATCHED BY SOURCE AND T.EmployeeName LIKE 'S%'
    THEN DELETE  
OUTPUT S.EmployeeID INTO @T;

DELETE Source1
WHERE EmployeeID in (SELECT EmployeeID
                     FROM @T);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में किसी उपयोगकर्ता के लिए डिफ़ॉल्ट डेटाबेस मेल प्रोफ़ाइल कैसे बदलें

  2. बहु-भाग पहचानकर्ता टेक्स्टबॉक्स 1. टेक्स्ट सी # एएसपी.नेट में बाध्य नहीं हो सका?

  3. SQL सर्वर दृश्यों में प्रतिरूपण?

  4. Xampp MS SQL सर्वर PHP 5.6

  5. एसक्यूएल स्टेटमेंट तालिका में रिकॉर्ड डालने के लिए जिसमें पहचान कॉलम है?