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

किसी मौजूदा कॉलम में एक पहचान जोड़ना

आप पहचान के लिए मौजूदा कॉलम में बदलाव नहीं कर सकते।

आपके पास 2 विकल्प हैं,

  1. पहचान के साथ एक नई तालिका बनाएं और मौजूदा तालिका को छोड़ दें

  2. पहचान के साथ एक नया कॉलम बनाएं और मौजूदा कॉलम को छोड़ दें

दृष्टिकोण 1. (नई तालिका ) यहां आप नए बनाए गए पहचान कॉलम पर मौजूदा डेटा मानों को बनाए रख सकते हैं। ध्यान दें कि यदि 'यदि मौजूद नहीं है' संतुष्ट नहीं है तो आप सभी डेटा खो देंगे, इसलिए सुनिश्चित करें कि आपने शर्त को ड्रॉप पर भी रखा है!

CREATE TABLE dbo.Tmp_Names
    (
      Id int NOT NULL
             IDENTITY(1, 1),
      Name varchar(50) NULL
    )
ON  [PRIMARY]
go

SET IDENTITY_INSERT dbo.Tmp_Names ON
go

IF EXISTS ( SELECT  *
            FROM    dbo.Names ) 
    INSERT  INTO dbo.Tmp_Names ( Id, Name )
            SELECT  Id,
                    Name
            FROM    dbo.Names TABLOCKX
go

SET IDENTITY_INSERT dbo.Tmp_Names OFF
go

DROP TABLE dbo.Names
go

Exec sp_rename 'Tmp_Names', 'Names'

दृष्टिकोण 2 (नया कॉलम ) आप नए बनाए गए पहचान कॉलम पर मौजूदा डेटा मान नहीं रख सकते हैं, पहचान कॉलम में संख्या का क्रम होगा।

Alter Table Names
Add Id_new Int Identity(1, 1)
Go

Alter Table Names Drop Column ID
Go

Exec sp_rename 'Names.Id_new', 'ID', 'Column'

अधिक विवरण के लिए निम्न Microsoft SQL सर्वर फ़ोरम पोस्ट देखें:

कॉलम को पहचान में कैसे बदलें(1,1)



  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 Server 2008)

  2. SQL - एक varchar डेटा प्रकार का डेटाटाइम डेटा प्रकार में रूपांतरण के परिणामस्वरूप एक आउट-ऑफ-रेंज मान होता है

  3. एक्सेस में DAO रिकॉर्डसेट के आधार के रूप में SQL सर्वर पासथ्रू क्वेरी

  4. SQL सर्वर में एक मल्टी-स्टेटमेंट टेबल-वैल्यूड फंक्शन (MSTVF) बनाएं

  5. SQL क्वेरी के साथ अल्पविराम से अलग किए गए मान