Инфраструктура простой таблицы с идентификатором
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
Evgeny (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии 2 участников) | |||
| Строка 31: | Строка 31: | ||
==== См. также ==== | ==== См. также ==== | ||
| + | * [[Инфраструктура таблицы с идентификатором]] | ||
* [[Инфраструктура интервальных деревьев]] | * [[Инфраструктура интервальных деревьев]] | ||
| + | * [[Инфраструктура таблицы простое дерево]] | ||
| + | * [[Инфраструктура таблицы со ссылкой]] | ||
__NOTOC__ | __NOTOC__ | ||
Текущая версия на 15:38, 17 апреля 2012
Как следует из названия, простая таблица с идентификатором содержит, из системных полей, только поле id для хранения уникального идентификатора записи. Поле заполняется триггером, имя которого формируется по определенной схеме. В таблице ниже приведены примеры имени для таблицы из эталонной базы данных и для пользовательской таблицы.
| N | Описание объекта | Таблица AT_SETTING | Таблица USR$FA_LOCATION |
|---|---|---|---|
| 1 | Триггер для присвоения уникального идентификатора | AT_BI_SETTING | USR$BI_USR$FA_LOCATION |
[править] Триггер на вставку записи
Текст триггера на примере таблицы AT_SETTING:
CREATE OR ALTER TRIGGER AT_BI_SETTING FOR AT_SETTING ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.id IS NULL) THEN NEW.id = GEN_ID(gd_g_offset, 0) + GEN_ID(gd_g_unique, 1); END