INSERT INTO ... VALUES...
का उपयोग करते समय आप एक स्टेटमेंट में पंक्तियों की अधिकतम संख्या 1000 डाल सकते हैं। यानी
INSERT INTO TableName( Colum1)
VALUES (1),
(2),
(3),...... upto 1000 rows.
लेकिन यदि आप किसी तालिका में पंक्तियों को सम्मिलित करने के लिए एक सेलेक्ट स्टेटमेंट का उपयोग कर रहे हैं, तो उसकी कोई सीमा नहीं है, कुछ इस तरह...
INSERT INTO TableName (ColName)
Select Col FROM AnotherTable
अब आते हैं आपके दूसरे प्रश्न पर। क्या होता है जब एक डालने के दौरान कोई त्रुटि होती है।
ठीक है अगर आप बहु-मूल्य निर्माण का उपयोग करके पंक्तियाँ सम्मिलित कर रहे हैं
INSERT INTO TableName( Colum1)
VALUES (1),
(2),
(3)
उपरोक्त परिदृश्य में यदि कोई पंक्ति प्रविष्टि त्रुटि का कारण बनती है तो पूरा विवरण वापस ले लिया जाएगा और कोई भी पंक्ति सम्मिलित नहीं की जाएगी।
लेकिन यदि आप प्रत्येक पंक्ति के लिए एक अलग कथन के साथ पंक्तियाँ सम्मिलित कर रहे थे अर्थात ...
INSERT INTO TableName( Colum1) VALUES (1)
INSERT INTO TableName( Colum1) VALUES (2)
INSERT INTO TableName( Colum1) VALUES (3)
उपरोक्त मामले में प्रत्येक रो इंसर्ट एक अलग स्टेटमेंट है और यदि किसी रो इंसर्ट में कोई त्रुटि होती है तो केवल उस विशिष्ट इंसर्ट स्टेटमेंट को वापस रोल किया जाएगा बाकी को सफलतापूर्वक इंसर्ट किया जाएगा।