В ежедневной разработке SQL Server столбец идентичности типа идентичности часто используется как саморастущее число в структуре таблицы. Например, номер изделия, серийный номер записи и т.д. Ссылки на саморастущие идентифицированные столбцы значительно способствуют разработке программ для баз данных, но иногда такой упрямый тип поля также может вызвать некоторые проблемы.
1. Измените значения полей идентификационного столбца:
Иногда для реализации функции необходимо изменить значение саморастущего типа Identity, но эта операция по умолчанию не разрешена из-за типа тождественного столбца. Например, если в базе данных нормально добавлено 5 элементов данных, и 2 удаляются в этот момент, то при повторном добавлении данных саморастущая идентификационная колонка автоматически получит значение 6, но если вы хотите присвоить значение 3 при вставке данных, это по умолчанию запрещено. Если вы хотите изменить значение этого поля, вы можете полностью контролировать вставку значения идентифицирующего поля, методы всё равно существуют, ха-ха.
ПОСТАВИТЬ IDENTITY_INSERT /[СТОЛ/] [ВКЛ| ВЫКЛЮЧЕНО] Используя вышеуказанное утверждение, вы легко можете контролировать, будет ли саморастущий столбец идентификатора в таблице автоматически расти, то есть можно ли вручную указывать значение поля идентификатора при вставке записи. Если указано как on, вы можете указать значение поля идентифицирующего столбца при вставке, что не увеличивает автоматически присвоенное значение. Конечно, если вы его используете, нужно использовать этот оператор, чтобы отключить переключатель в состояние по умолчанию, иначе поле не будет автоматически увеличивать значение при следующей вставке данных.
2. Сбросьте значение поля столбца идентификации:
Когда часть записи данных удаляется, а новая запись добавляется позже, значение столбца идентификации будет иметь большой интервал простоя, что выглядит очень неприятно. Даже если вы удалите все записи в таблице, значение столбца идентичности будет продолжать расти автоматически и бесконечно расти, а не расти с нуля. Начальное значение саморастущего поля можно сбросить, используя следующее утверждение:
DBCC CHECKIDENT(ТАБЛИЦА, [RESEED| NORESEED], [1]) Вышеуказанное утверждение заставит сбросить начальное значение указанной таблицы до 1. Однако, если вы не хотите сбрасывать seed до 1, можно заменить третий параметр на нужное значение seed. Если вы хотите узнать текущий seed вместо сброса определённого seed, нужно использовать NORESEED вместо установки третьего параметра. |