Автоинкрементальные поля и Interbase 2

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: Steve Koterski (Borland)

Я пытаюсь сгенерировать последовательный ключ для первичной ключевой колонки, но LIBS мне отвечает «nested select is not support in this context.» (вложенный выбор не поддерживается в данном контексте.)

Как насчет:

CREATE TRIGGER AUTOINCREMENT FOR MYTABLE

BEFORE INSERT AS

DECLARE VARIABLE new_key INTEGER;

BEGIN

UPDATE AUTOKEYS

SET KEY_VALUE = KEY_VALUE 1

WHERE (KEY_ID = «A»);

SELECT KEY_VALUE

FROM AUTOKEYS

WHERE KEY_ID = «A»

INTO :new_key;

new.my_key_column = new_key;

END ^

{/codecitation}

Добавить комментарий