Изменение столбцов идентификации
Для столбцов идентификации позволено изменять способ генерации, начальное значение и значение приращения.
Предложение SET GENERATED
позволяет изменить способ генерации столбца идентификации.Существует два способа генерации столбца идентификации:
-
BY DEFAULT
столбцы позволяют переписать сгенерированное системой значение в операторахINSERT
,UPDATE OR INSERT
,MERGE
просто указав значение этого столбца в списке значений. -
ALWAYS
столбцы не позволяют переписать сгенерированное системой значение, при попытке переписать значение такого столбца идентификации будет выдана ошибка. Переписать значение этого столбца в операторе INSERT можно только при указании директивы OVERRIDING SYSTEM VALUE.
ALTER TABLE objects
ALTER ID SET GENERATED ALWAYS;
Если указано только предложение RESTART
, то происходит сброс значения генератора в ноль.Необязательное предложение WITH
позволяет указать для нового значения внутреннего генератора отличное от нуля значение.
ALTER TABLE objects
ALTER ID RESTART WITH 100;
Предложение SET INCREMENT [BY]
позволяет изменить значение приращения столбца идентификации.Значение приращения должно быть отлично от 0.
ALTER TABLE objects
ALTER ID SET INCREMENT BY 2;
В одном операторе можно изменить сразу несколько свойств столбца идентификации, например:
ALTER TABLE objects
ALTER ID SET GENERATED ALWAYS RESTART SET INCREMENT BY 2;
Предложение DROP IDENTITY
удаляет связанный со столбцом идентификации системную последовательность и преобразует его в обычный столбец.
ALTER TABLE objects
ALTER ID DROP INDENTITY;