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

SQL सर्वर में पहचान कॉलम को कैसे अपडेट करें?

<ब्लॉकक्वॉट>

आप पहचान कॉलम अपडेट नहीं कर सकते।

SQL सर्वर पहचान कॉलम को अपडेट करने की अनुमति नहीं देता है, इसके विपरीत आप अपडेट स्टेटमेंट के साथ अन्य कॉलम के साथ क्या कर सकते हैं।

हालांकि समान प्रकार की आवश्यकता को प्राप्त करने के लिए कुछ विकल्प हैं।

  • जब नए रिकॉर्ड के लिए पहचान कॉलम मान को अपडेट करने की आवश्यकता हो

DBCC CHECKIDENT का उपयोग करें जो तालिका के लिए वर्तमान पहचान मान की जाँच करता है और यदि आवश्यक हो, तो पहचान मान को बदल देता है।

DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
  • जब मौजूदा रिकॉर्ड के लिए पहचान कॉलम मान को अपडेट करने की आवश्यकता हो

IDENTITY_INSERT का उपयोग करें जो स्पष्ट मानों को तालिका के पहचान कॉलम में सम्मिलित करने की अनुमति देता है।

SET IDENTITY_INSERT YourTable {ON|OFF}

उदाहरण:

-- Set Identity insert on so that value can be inserted into this column
SET IDENTITY_INSERT YourTable ON
GO
-- Insert the record which you want to update with new value in the identity column
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old row of which you have inserted a copy (above) (make sure about FK's)
DELETE FROM YourTable WHERE ID=3
GO
--Now set the idenetity_insert OFF to back to the previous track
SET IDENTITY_INSERT YourTable OFF


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में GO स्टेटमेंट का उपयोग कैसे करें आइडेंटिटी कॉलम में रिकॉर्ड्स डालने के लिए - SQL सर्वर / T-SQL ट्यूटोरियल पार्ट 42

  2. प्राथमिक कुंजी को अनदेखा करते हुए SQL सर्वर में डुप्लिकेट पंक्तियों को हटाने के 3 तरीके

  3. SQL सर्वर (T-SQL) में किसी दिनांक से सप्ताह संख्या निकालें

  4. ExecuteReader को एक खुले और उपलब्ध कनेक्शन की आवश्यकता है। कनेक्शन की वर्तमान स्थिति कनेक्ट हो रही है

  5. मैं SQL सर्वर के साथ कैस्केड डिलीट का उपयोग कैसे करूं?