Использование генератора состоит в чтении значения генератора и изменении этого значения на заданную величину. Для этого применяется специальная функция gen_id.
Функция gen_id получает значение указанного генератора и изменяет его значение. Причем, гарантируется, что функция выполняется как атомарная операция. Никакой другой пользователь не может «вклиниться» между чтением значения генератора и его изменением.
Формат:
rc = gen_id ( Имя_генератора, Приращение ) ;
Аргументы:
| Аргумент
| Тип
| Значение
|
| Имя_генератора
| character
| Аргумент задает имя генератора. Генератор с указанным именем должен быть создан оператором create generator. Если генератор не существует, то возвращается 0.
|
| Приращение
| integer
| Выражение, которое задает величину приращения значения генератора.
|
При работе с генераторами необходимо помнить, что название генератора задается с учетом регистра, т.е. если к созданному в примере генератору попробовать обратиться следующим образом:
var @no = gen_id('Reader_ID', 1);
то это вызовет ошибку «[-64] Неправильный операнд. Около <Built-in gen_id>» .
SQL оператор drop generator удаляет существующий генератор. Удаляемый генератор задается своим именем.