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

SQL सर्वर 2008 में तालिका पहचान को दोबारा कैसे बीजित करें और इसे सुरक्षित रूप से पूर्ववत करें?

पहचान संपत्ति को रीसेट करने का आदेश है

DBCC CHECKIDENT (tablename, RESEED, new_reseed_value)

जब आप कॉलम पहचान को 12345 पर सेट करना चाहते हैं तो आप इसे चलाते हैं

DBCC CHECKIDENT (beer, RESEED, 12345)

जब आप परीक्षण पंक्तियों को हटाना चाहते हैं और मान को पिछले मान पर पुनर्स्थापित करना चाहते हैं, तो आप निम्न कार्य करते हैं।

DELETE
FROM beer
WHERE beer_id >= 12345 ;

DECLARE @NewSeed NUMERIC(10)
SELECT @NewSeed = MAX(beer_id)
FROM beer ;

DBCC CHECKIDENT (beer, RESEED, @NewSeed)

यहां आपके परिदृश्य के लिए एक प्रदर्शन है। ध्यान दें कि बियर_आईडी कॉलम IDENTITY (1, 1) . के साथ बनाया गया है संपत्ति, जो 1 की वृद्धि के साथ पहचान को 1 से सीड करती है।

CREATE TABLE beer
    (        
    beer_id NUMERIC(10) IDENTITY (1,1) NOT NULL,
    mnemonic NVARCHAR(8)
    );

GO

INSERT INTO beer(mnemonic) VALUES ('Beer 1')
INSERT INTO beer(mnemonic) VALUES ('Beer 2')

SELECT *
FROM beer ;

DBCC CHECKIDENT (beer, RESEED, 12345)
GO

INSERT INTO beer(mnemonic) VALUES ('Beer 3')
INSERT INTO beer(mnemonic) VALUES ('Beer 4')

SELECT *
FROM beer ;

DELETE
FROM beer
WHERE beer_id >= 12345 ;

DECLARE @NewSeed NUMERIC(10)
SELECT @NewSeed = MAX(beer_id)
FROM beer ;

DBCC CHECKIDENT (beer, RESEED, @NewSeed)
GO

INSERT INTO beer(mnemonic) VALUES ('Beer 5')
INSERT INTO beer(mnemonic) VALUES ('Beer 6')

SELECT *
FROM beer ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. धुरी और अल्पविराम से अलग किया गया मान

  2. मैं कम से कम समय में 10 मिलियन रिकॉर्ड कैसे सम्मिलित कर सकता हूं?

  3. SQL सर्वर प्रक्रियाओं/ट्रिगर्स के अंदर टेक्स्ट कैसे खोजें?

  4. SQL का DISTINCT क्लॉज कैसे काम करता है?

  5. SQL सर्वर में एक दृश्य से SCHEMABINDING निकालें