OLE DB свойство набора рядов и команды — «auto_gen_key_rule»
Список правил генерации ключей при добавлении нового ряда:
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 для присвоения уникального значения.