Автоинкремент для временных таблиц Назад В начало Вперед

Для создания автоинкрементного индекса во временных таблицах необходимо описать автоинкрементный ключ по правилам обычных таблиц Атлантиса.

Автоинкрементация реализуется средствами СУБД (в отличии от обычных таблиц).

Для доступа к последнему значению автоинкрементного ключа доступна глобальная переменная #IDENTITY. Переменная возвращает последнее значение сгеренированного в текущей сессии любого автоинкрементного ключа.

Примеры

Пример 1. Создание автоинкрементного индекса.

sqlAddStr(s, 'table aaa3');
sqlAddStr(s, '(');
sqlAddStr(s, ' code : longint,');
sqlAddStr(s, ' val : longint,');
sqlAddStr(s, ' name : string[80]');
sqlAddStr(s, ')');
sqlAddStr(s, 'with index');
sqlAddStr(s, '(');
sqlAddStr(s, ' a0 = name');
sqlAddStr(s, ' ,a1 = code(autoinc)');
sqlAddStr(s, ');');
sqlCreateTmpTable(s, ctmNormal );
sqlFreeStr(s);

Пример 2. Использование глобальной переменной #IDENTITY

sql insert into aaa3 (name,val) values ('a',0);
sql insert into aaa3 (name,val) values ('b',0);
sql insert into attrnam (wtable,name,rtype) values (199,'last',#identity);

Версия

Начиная с Атлантис 5.4.15.