खोज…


परिचय

INSERT INTO स्टेटमेंट का उपयोग टेबल में नए रिकॉर्ड डालने के लिए किया जाता है।

INSERT नमस्ते विश्व INTO तालिका

CREATE TABLE MyTableName
(
    Id INT,
    MyColumnName NVARCHAR(1000)
)
GO

INSERT INTO MyTableName (Id, MyColumnName)
VALUES (1, N'Hello World!')
GO    

विशिष्ट कॉलम पर INSERT

विशिष्ट स्तंभों पर एक प्रविष्टि करने के लिए (उन सभी के विपरीत) आपको उन स्तंभों को निर्दिष्ट करना होगा जिन्हें आप अपडेट करना चाहते हैं।

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
VALUES ('Stephen', 'Jiang');

यह केवल तभी काम करेगा जब आपके द्वारा सूचीबद्ध नहीं किए गए कॉलम अशक्त, पहचान, टाइमस्टैम्प डेटा प्रकार या कंप्यूटेड कॉलम हैं; या स्तंभ जिनका डिफ़ॉल्ट मान बाधा है। इसलिए, यदि उनमें से कोई भी गैर-अशक्त, गैर-पहचान, गैर-टाइमस्टैम्प, गैर-गणना, गैर-डिफ़ॉल्ट मूल्यवान कॉलम है ... तो इस तरह का सम्मिलित प्रयास आपको एक त्रुटि संदेश ट्रिगर करेगा जो आपको बताएगा कि आपको एक प्रदान करना है लागू क्षेत्र के लिए मूल्य।

डेटा की कई पंक्तियों को सम्मिलित करें

SQL Server 2008 या बाद में डेटा की कई पंक्तियाँ सम्मिलित करने के लिए:

INSERT INTO USERS VALUES
(2, 'Michael', 'Blythe'),
(3, 'Linda', 'Mitchell'),
(4, 'Jillian', 'Carson'),
(5, 'Garrett', 'Vargas');

SQL सर्वर के पुराने संस्करणों में डेटा की कई पंक्तियाँ डालने के लिए, "UNION ALL" का उपयोग करें:

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
SELECT 'James', 'Bond' UNION ALL
SELECT 'Miss', 'Moneypenny' UNION ALL
SELECT 'Raoul', 'Silva'

ध्यान दें, INSERT प्रश्नों में "INTO" कीवर्ड वैकल्पिक है। एक अन्य चेतावनी यह है कि SQL सर्वर केवल एक INSERT में 1000 पंक्तियों का समर्थन करता है ताकि आपको उन्हें बैचों में विभाजित करना पड़े।

डेटा की एक पंक्ति सम्मिलित करें

डेटा की एक एकल पंक्ति को दो तरीकों से डाला जा सकता है:

INSERT INTO USERS(Id, FirstName, LastName)
VALUES (1, 'Mike', 'Jones');

या

INSERT INTO USERS
VALUES (1, 'Mike', 'Jones');

ध्यान दें कि दूसरा इंसर्ट स्टेटमेंट केवल मानों को टेबल कॉलम के ठीक उसी क्रम में अनुमति देता है, जबकि पहले इन्सर्ट में मानों के क्रम को बदला जा सकता है जैसे:

INSERT INTO USERS(FirstName, LastName, Id)
VALUES ('Mike', 'Jones', 1);

नई Id प्राप्त करने के लिए OUTPUT का उपयोग करें

INSERTing करते समय, आप नई सम्मिलित पंक्ति से मान प्राप्त करने के लिए OUTPUT INSERTED.ColumnName का उपयोग कर सकते हैं, उदाहरण के लिए नव-निर्मित ईद - उपयोगी यदि आपके पास कोई IDENTITY स्तंभ या डिफ़ॉल्ट या परिकलित मान है।

जब प्रोग्रामिक रूप से यह कॉल करना (जैसे, ADO.net से) आप इसे एक सामान्य क्वेरी के रूप में मानेंगे और मानों को पढ़ेंगे जैसे कि आपने SELECT -statement किया होगा।

-- CREATE TABLE OutputTest ([Id] INT NOT NULL PRIMARY KEY IDENTITY, [Name] NVARCHAR(50))

INSERT INTO OutputTest ([Name])
OUTPUT INSERTED.[Id]
VALUES ('Testing')

यदि हाल ही में जोड़ी गई पंक्ति की आईडी को क्वेरी या संग्रहीत कार्यविधि के एक ही सेट के अंदर आवश्यक है।

-- CREATE a table variable having column with the same datatype of the ID

DECLARE @LastId TABLE ( id int);

INSERT INTO OutputTest ([Name])
OUTPUT INSERTED.[Id] INTO @LastId
VALUES ('Testing')

SELECT id FROM @LastId

-- We can set the value in a variable and use later in procedure

DECLARE @LatestId int = (SELECT id FROM @LastId)

चयनित क्वेरी परिणामों से INSERT

SQL क्वेरी (एकल या कई पंक्तियों) से प्राप्त डेटा सम्मिलित करने के लिए

INSERT INTO Table_name (FirstName, LastName, Position)
SELECT FirstName, LastName, 'student' FROM Another_table_name

ध्यान दें, SELECT में 'छात्र' एक स्ट्रिंग स्थिरांक है जिसे प्रत्येक पंक्ति में डाला जाएगा।

यदि आवश्यक हो, तो आप एक ही तालिका में / से डेटा का चयन और सम्मिलित कर सकते हैं



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow