Первичный ключ и автоинкрементность поля
Добавлено: 01 авг 2007, 13:58
Проблема такая. Необходимо, чтобы поле первичного ключа было автоинкрементным.
Таблица
Генератор
Триггер
Условие первичного ключа - NOT NULL, но в таком случае не сможет выполняться триггер - условие IF (NEW.ID IS NULL).
Как быть в таком случае. Читал статью о генераторах. Через SELECT работать не очень хочется.
Таблица
Код: Выделить всё
MY_TABLE [ID INTEGER NOR NULL , ... ]
Код: Выделить всё
CREATE GENERATOR GEN_MY_TABLE_ID;
SET GENERATOR GEN_MY_TABLE_ID TO 0;
Код: Выделить всё
CREATE TRIGGER TR_MY_TABLE_BI FOR MY_TABLE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.ID IS NULL) THEN NEW.ID = GEN_ID(GEN_CARDS_ID, 1);
END
Как быть в таком случае. Читал статью о генераторах. Через SELECT работать не очень хочется.