Оператор SELECT и свойство IDENTITY

Оценить
(0 голоса)

Столбцы с числовым типом данных, таким как tinyint, smallint, integer или bigint, могут иметь свойство identity. Database Engine генерирует значения для подобных столбцов последовательно, начиная с заданного начального значения. По этой причине вы можете использовать свойство identity, чтобы дать системе возможность генерировать уникальные числовые значения для столбца таблицы по вашему выбору.

Каждая таблица может иметь только один столбец со свойством identity. Владелец таблицы может задавать начальный номер и значение приращения (пример 6.41).

Оператор SELECT и свойство IDENTITY

 

В примере 6.41 вначале создается таблица product. Эта таблица имеет столбец product_no с заданным свойством identity. Значения столбца product_no автоматически генерируются системой, начиная с номера 10 000 и увеличиваясь на единицу для каждого последующего значения: 10 000, 10 001, 10 002 и т. д.

Некоторые системные функции и переменные имеют отношение к свойству identity. В примере 6.41 используется переменная identitycol. Как можно увидеть по набору результатов примера 6.41, эта переменная автоматически ссылается на столбец со свойством identity.

Для того чтобы найти начальное значение и величину приращения для столбца со свойством identity, вы можете использовать функции ident_seed и identincr соответственно:

select ident_seed('product'),   ident_incr('product)'

Как вы уже знаете, система автоматически устанавливает значения столбца identity. Если вы хотите установить ваши собственные значения для отдельных строк, вы должны установить опцию identityinsert в значение on перед тем, как явно задавать добавляемое значение:

set identity_insert table_p.ame on

Если вы добавляете значения после того, как опция identityinsert была установлена в on, система предполагает, что следующее значение должно быть получено увеличением максимального значения, которое существует в таблице на данный момент.


Операторы над множествами
Операторы над множествами INTERSECT и EXCEPT
Выражения CASE
Предложение COMPUTE
Временные таблицы

Добавить комментарий


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.