sql - एक एकल एसक्यूएल क्वेरी में एकाधिक पंक्तियां डालने?




sql-server tsql insert (5)

मेरे पास एक बार में डालने के लिए डेटा के कई सेट हैं, 4 पंक्तियां कहें।

मेरी तालिका में तीन कॉलम हैं: Person , Id और Office

INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");

क्या मैं एक ही SQL statement में सभी 4 पंक्तियां insert सकता हूं?


Answers

यदि आप एक ही टेबल में सम्मिलित हैं, तो आप अपनी क्वेरी इस तरह लिख सकते हैं (शायद केवल MySQL में):

INSERT INTO table1 (First, Last)
VALUES
    ('Fred', 'Smith'),
    ('John', 'Smith'),
    ('Michael', 'Smith'),
    ('Robert', 'Smith');

नोट: यह उत्तर SQL सर्वर 2005 के लिए है। SQL Server 2008 और बाद में, अन्य उत्तरों में देखी गई बेहतर विधियां हैं।

आप चयन यूनियन के साथ INSERT का उपयोग कर सकते हैं सभी :

INSERT INTO MyTable  (FirstCol, SecondCol)
    SELECT  'First' ,1
    UNION ALL
SELECT  'Second' ,2
    UNION ALL
SELECT  'Third' ,3
...

केवल छोटे डेटासेट के लिए, जो आपके 4 रिकॉर्ड के लिए ठीक होना चाहिए।


INSERT बयान जो VALUES वाक्यविन्यास का उपयोग करते हैं, कई पंक्तियां डाल सकते हैं। ऐसा करने के लिए, कॉलम मानों की एकाधिक सूचियों को शामिल करें, प्रत्येक कोष्ठक के भीतर संलग्न और अल्पविराम से अलग करें।

उदाहरण:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

SQL सर्वर 2008 में आप एक एकल SQL INSERT कथन का उपयोग करके एकाधिक पंक्तियां डाल सकते हैं।

INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )

इसके संदर्भ में एमओसी कोर्स 2778 ए पर एक नज़र डालें - SQL सर्वर 2008 में SQL क्वेरीज़ लिखना।


SELECT CASE WHEN profile.nrefillno = 0 THEN 'N' ELSE 'R'END as newref
From profile




sql sql-server tsql insert