Инфраструктура простой таблицы с идентификатором
Материал из GedeminWiki
(Различия между версиями)
Evgeny (обсуждение | вклад) |
Evgeny (обсуждение | вклад) |
||
| Строка 12: | Строка 12: | ||
| USR$BI_USR$FA_LOCATION | | USR$BI_USR$FA_LOCATION | ||
|} | |} | ||
| + | |||
| + | Предназначение объекта раскрыто ниже на примере таблицы AT_SETTING. | ||
| + | |||
| + | |||
| + | === Триггер на вставку записи === | ||
| + | |||
| + | <syntaxhighlight lang="SQL"> | ||
| + | CREATE 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 | ||
| + | </syntaxhighlight> | ||
Версия 17:43, 6 апреля 2012
Инфраструктура простой таблицы состоит из одного триггера. Имя этого объекта формируется по определенной схеме. В таблице ниже даны примеры имени для стандартного отношения из эталонной базы данных и для пользовательской таблицы.
| N | Описание объекта | Таблица AT_SETTING | Таблица USR$FA_LOCATION |
|---|---|---|---|
| 1 | Триггер для присвоения уникального идентификатора | AT_BI_SETTING | USR$BI_USR$FA_LOCATION |
Предназначение объекта раскрыто ниже на примере таблицы AT_SETTING.
Триггер на вставку записи
CREATE 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