Инфраструктура простой таблицы с идентификатором
Материал из GedeminWiki
(Различия между версиями)
Evgeny (обсуждение | вклад) |
Evgeny (обсуждение | вклад) |
||
| (не показаны 3 промежуточные версии 2 участников) | |||
| Строка 1: | Строка 1: | ||
| − | + | Как следует из названия, простая таблица с идентификатором содержит, из системных полей, только поле id для хранения уникального идентификатора записи. Поле заполняется триггером, имя которого формируется по определенной схеме. В таблице ниже приведены примеры имени для таблицы из эталонной базы данных и для пользовательской таблицы. | |
{| border="1" cellpadding="4" cellspacing="0" style="border-collapse:collapse;" | {| border="1" cellpadding="4" cellspacing="0" style="border-collapse:collapse;" | ||
| Строка 12: | Строка 12: | ||
| USR$BI_USR$FA_LOCATION | | USR$BI_USR$FA_LOCATION | ||
|} | |} | ||
| − | |||
| − | |||
=== Триггер на вставку записи === | === Триггер на вставку записи === | ||
| + | |||
| + | Текст триггера на примере таблицы [[AT_SETTING]]: | ||
<syntaxhighlight lang="SQL"> | <syntaxhighlight lang="SQL"> | ||
| − | CREATE TRIGGER AT_BI_SETTING FOR AT_SETTING | + | CREATE OR ALTER TRIGGER AT_BI_SETTING FOR AT_SETTING |
| − | ACTIVE BEFORE INSERT POSITION 0 | + | ACTIVE |
| + | BEFORE INSERT | ||
| + | POSITION 0 | ||
AS | AS | ||
BEGIN | BEGIN | ||
| Строка 26: | Строка 28: | ||
END | END | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | |||
| + | ==== См. также ==== | ||
| + | |||
| + | * [[Инфраструктура таблицы с идентификатором]] | ||
| + | * [[Инфраструктура интервальных деревьев]] | ||
| + | * [[Инфраструктура таблицы простое дерево]] | ||
| + | * [[Инфраструктура таблицы со ссылкой]] | ||
| + | |||
| + | __NOTOC__ | ||
| + | |||
| + | [[Category:Руководство разработчика]] | ||
| + | [[Category:Учебный курс]] | ||
| + | [[Category:База данных]] | ||
Текущая версия на 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