Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да нулирате стойността на колоната за идентичност в таблицата на SQL Server - SQL Server / T-SQL урок, част 43


Нека първо започнем с разбирането на свойството Identity и след това можем да преминем към стъпка, как можем да го нулираме? Създайте таблица на SQL Server с колона за идентичност, като използвате скрипта по-долу

USE TEST
GO
CREATE TABLE dbo.Person( ID INT IDENTITY(1,1), Name VARCHAR(10))

Нека вмъкнем записи по-долу, като използваме изразите по-долу
INSERT INTO dbo.Person(name) 
VALUES ('Aamir')
INSERT INTO dbo.Person(Name)
VALUES ('Aamir Shahzad')
 
 Ще бъде вмъкнат само един запис, а вторият запис ще се провали, тъй като размерът на низа е повече от размера на типа данни в колоната Фигура 1 – Вмъкване на записи в таблица на SQL Server

Проверете самоличността Стойност на колона: За да проверим стойността на идентичността на колона, можем да използваме по-долу израз
--Check the Identity Value of a Column
DBCC CHECKIDENT ('dbo.Person');
 
Fig 2- DBCC CHECKIDENT to see the Identity Value


Дори вмъкването беше неуспешно за втори запис, но стойността на идентичността се увеличава. Ако вмъкнем следващия запис, стойността на идентичността ще бъде 3 за това, както можем да видим на фигура 3.

Ето няколко начина да нулирате стойността на идентичността на колона след изтриване данни.

Нулиране на стойността на самоличността чрез TRUNCATE: Ако искаме да изтрием всичко от таблицата и таблицата няма връзка с външен ключ, можем да съкратим таблицата и това ще почисти данните, както и ще зададе стойността на идентичността Фигура 3 - Използвайте Truncate за почистване на таблицата и нулиране на стойността на идентичността


Нулиране на стойността на самоличността чрез използване на DBCC CHECKIDENT: Ако таблицата е във връзка с която и да е друга таблица (първичен-външен ключ), ние няма да можем да съкратим таблицата. В този случай трябва да изтрием стойностите от таблицата с помощта на израза Delete и след това да зададем стойност на идентичност.
DBCC CHECKIDENT ('dbo.Person', RESEED, 0);
  Фигура 4. Изтрийте данните от таблицата и използвайте DBCC CHECKIDENT за повторно задаване на стойността на идентичността

Видео демонстрация:Как да нулирате стойността на колоната за идентичност в таблицата на SQL Server

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 11 най-добри практики за индекс на SQL Server за подобрена настройка на производителността

  2. Изтриване на SQL Server – Премахване на един или повече редове от таблица с леко напреднали сценарии

  3. Използване на DateTime в SqlParameter за Съхранена процедура, грешка при форматирането

  4. Конкатни групи в SQL Server

  5. CONVERT() от дата/час към примери за низове в SQL Server