मेरे पास निम्नलिखित दो तालिकाएँ हैं:
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
मुझे इसमें से डेटा सम्मिलित Table1
करना होगा Table2
। मैं निम्नलिखित सिंटैक्स का उपयोग कर सकता हूं:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
हालाँकि, मेरे मामले में, डुप्लिकेट आईडी मौजूद हो सकती है Table2
(मेरे मामले में, यह सिर्फ " 1
") है और मैं इसे फिर से कॉपी नहीं करना चाहता क्योंकि यह एक त्रुटि है।
मैं कुछ इस तरह लिख सकता हूं:
IF NOT EXISTS(SELECT 1 FROM Table2 WHERE Id=1)
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1
ELSE
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1 WHERE Table1.Id<>1
क्या बिना उपयोग के ऐसा करने का एक बेहतर तरीका है IF - ELSE
? मैं INSERT INTO-SELECT
कुछ शर्त के आधार पर दो बयानों से बचना चाहता हूं ।