Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

InterBase Поля AutoInc

992
03 июня 2001 года
DViktor
1 / / 20.03.2000
Хорошего всем настроения!
Вопрос по InterBase есть ли в нем как в Paradoxe поля AutoInc (+). Я токого свойства не нашел. Может все придется ручками делать. Может кто знает? Помогите.
649
03 июня 2001 года
vic
4 / / 20.02.2000
В InterBase есть вычисляемые поля. И по моему, они компенсируют AUTO_INCREMENT

CREATE TABLE phpbb2_LOG
ID INT COMPUTED BY (ID+1),
..........

[ Это Сообщение было отредактировано mike в 2001-06-03 1240 ]
4
03 июня 2001 года
mike
3.7K / / 01.10.2002
Эээ не, не все так просто. COMPUTED BY вычисляется в зависимости от полей текущей записи, а никак не предыдущей. А AUTO_INCREMENT можно с помощью подзапроса делать. Но я думаю, что в IB можно проще.

[ Это Сообщение было отредактировано mike в 2001-06-03 1240 ]
1.2K
04 июня 2001 года
DiRTy_GaRRy
2 / / 20.04.2000
В Interbase существует такое понятие, как генератор. При помощи этих генераторов и осуществляется получение уникальных номеров.
Для получения уникального значения надо проделать несколько шагов:
1. Создать генератор

CREATE GENERATOR GEN_USER_ID;
SET GENERATOR GEN_BASE_USER_ID TO 0;

2. Создать триггер, где уникальному полю будет присваиваться значение этого генератора (или можно это присваивание производить в приложении)

CREATE TRIGGER BI_USERS FOR USERS ACTIVE
BEFORE INSERT POSITION 0
as
begin
if (new.id is null) then
new.id = gen_id(GEN_USER_ID, 1);
end

3. И в конце-концов почитать документацию (!) входящую в комплект поставки сервера.
4. Купить книгу :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог