Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menyemai kembali identitas tabel di SQL Server 2008 dan membatalkan semuanya dengan aman?

Perintah untuk mereset properti identitas adalah

DBCC CHECKIDENT (tablename, RESEED, new_reseed_value)

Saat Anda ingin menyetel identitas kolom ke 12345, jalankan ini

DBCC CHECKIDENT (beer, RESEED, 12345)

Saat Anda ingin menghapus baris pengujian dan mengembalikan nilai ke nilai sebelumnya, lakukan hal berikut.

DELETE
FROM beer
WHERE beer_id >= 12345 ;

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

DBCC CHECKIDENT (beer, RESEED, @NewSeed)

Berikut adalah demonstrasi untuk skenario Anda. Perhatikan bahwa kolom beer_id dibuat dengan IDENTITY (1, 1) properti, yang menyemai identitas menjadi 1 dengan kelipatan 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. Kemungkinan Cara untuk Memperbaiki Masalah Korupsi Metadata SQL Server

  2. Bagaimana saya bisa memaksa kerangka kerja entitas untuk memasukkan kolom identitas?

  3. Cara Mengembalikan Nilai Kode ASCII untuk Karakter yang diberikan di SQL Server

  4. Bagaimana saya bisa menyusun kueri untuk memberi saya hanya baris yang cocok dengan SEMUA nilai dalam daftar ID CSV di T-SQL

  5. Menangani nilai yang tidak ada dalam ekspresi kueri sql untuk bagan ssrs