Обновлено: 19.10.2023

OLE DB свойство набора рядов и команды — «auto_gen_key_rule»

Имя:
auto_gen_key_rule
Тип:
VT_BSTR
R/W:
R/W
По умолчанию:
EMPTY
IBProvider:
2, 3, 5

Список правил генерации ключей при добавлении нового ряда:

auto_gen_key_rule ::= <gen_key_rule>[;<gen_key_rule>]

<gen_key_rule> ::= {GEN | GEN_N | GEN_NI }.GeneratorName.<column_id>

<column_id> ::= {<aliase_column_name> | <full_column_name>}

<aliase_column_name> ::= название колонки в результирующем множестве

<full_columns_name> ::= BaseTableName.BaseColumnName

Описание управляющих маркеров:

Маркер Описание
GEN Всегда генерировать новое значение колонки
GEN_N Генерировать новое значение, если в значение колонки NOT OK (is NULL или имеет DEFAULT значение)
GEN_NI Генерировать новой значение, если колонка не была инициализирована (имеет DEFAULT значение)

Используя эти правила, набор рядов может автоматически использовать генераторы для определения значений ключевых (и не только) колонок.

При определении названий генератора, таблицы и колонки можно использовать квотированные имена.

Пример

Если в таблице MY_TABLE есть колонка ID, то вы можете определить следующие правила генерации ключей с использованием генератора GEN_ID_MY_TABLE:

auto_gen_key_rule=«GEN_NI.GEN_ID_MY_TABLE.ID»
auto_gen_key_rule=«GEN_NI.GEN_ID_MY_TABLE.MY_TABLE.ID»

Если пользователь не устанавливал какое-либо значение в колонку ID, то провайдер использует генератор GEN_ID_MY_TABLE для присвоения уникального значения.

Другие свойства группы

Другие наборы свойств