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

SET IDENTITY_INSERT xyz ON का दायरा क्या है?

यह एक सत्र विकल्प है, एक तालिका में एक समय में केवल एक तालिका के लिए विकल्प हो सकता है, लेकिन एक ही तालिका के लिए कई अलग-अलग सत्र इसे चालू रख सकते हैं (हालांकि यह सुनिश्चित नहीं है कि यह कभी भी एक अच्छा विचार होगा!)

जब कोई चाइल्ड बैच समाप्त होता है (जो इस विकल्प को सेट करता है) ऐसा लगता है कि यह कनेक्शन के लिए स्वचालित रूप से अनसेट हो जाता है।

CREATE TABLE Tst
(C INT IDENTITY(1,1))

EXEC('SET IDENTITY_INSERT Tst ON')
INSERT INTO Tst(C) VALUES (1) /*Fails - Complains IDENTITY_INSERT is off*/

SET IDENTITY_INSERT Tst ON
EXEC('INSERT INTO Tst(C) VALUES (1)') /*Succeeds this way round*/
SET IDENTITY_INSERT Tst OFF


SET IDENTITY_INSERT Tst ON
EXEC('SET IDENTITY_INSERT Tst ON; INSERT INTO Tst(C) VALUES (1);') /* Also succeeds like this*/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं कॉलम x पर एक इंडेक्स बनाकर विशालटेबल क्वेरी से एक सेलेक्ट डिस्टिंट x को ऑप्टिमाइज़ कर सकता हूँ?

  2. डेटाबेस में सभी प्राथमिक कुंजी की सूची प्राप्त करें

  3. संग्रहीत प्रक्रियाओं का उपयोग करके SQL में एकाधिक पंक्तियों को कैसे सम्मिलित करें?

  4. इस नमूने में उपयोग नहीं किए गए कोड का चयन कैसे करें

  5. SQL सर्वर (T-SQL) में डेटा फ़ाइल का फ़ाइल आकार कैसे बढ़ाएँ