AUTOINC, like in MySQL

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
StealthAIDS
Сообщения: 15
Зарегистрирован: 10 янв 2007, 18:35

AUTOINC, like in MySQL

Сообщение StealthAIDS » 26 янв 2007, 14:40

Добрый вечер!
Возникла необходимость в хранении массивов неопределенной длины.
Применяю структуру

Код: Выделить всё

CREATE TABLE EXAMPLES_VALUES (
    EXAMPLE_ID  INTEGER NOT NULL,
    VALUE_ID      INTEGER NOT NULL,
    VALUE_REAL  DOUBLE PRECISION NOT NULL
);
CONSTRAINT PK_EXAMPLES_VALUES PRIMARY KEY (EXAMPLE_ID, VALUE_ID);
Как мне проставить вторую половину ключа - Value_ID, чтобы он гарантированно был "натуральным" - 1,2,3,4,5... для каждого example_ID даже в случае исклюцений и откатов?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 янв 2007, 15:07

www.ibase.ru/devinfo/generator.htm

насчет "исключений и откатов" - тебе надо, чтобы не было дыр в нумерации? Тогда это решается монопольным доступом к таблице.

StealthAIDS
Сообщения: 15
Зарегистрирован: 10 янв 2007, 18:35

Сообщение StealthAIDS » 26 янв 2007, 16:17

А есть более "прямой" способ поиметь двухмерные массивы, если они разного размера (10х10, 5х300, 20х400 и т.д.), чем таблица

Код: Выделить всё

"ARRAY","I","J","REAL_VALUE"

StealthAIDS
Сообщения: 15
Зарегистрирован: 10 янв 2007, 18:35

Сообщение StealthAIDS » 26 янв 2007, 16:34

в смысле есть ли способ лучше, а то в мануале написано про поля-массивы, но про одинаковые (одного размера) на всю таблицу.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 янв 2007, 16:42

ой, не надо массивы... в SQL ты их можешь только читать. обновлять и создавать - только через api. Собственно, можно считать что array в IB/FB это то же самое что и blob. А в blob положить массив ты и сам можешь.

а насчет твоего первого вопроса - я сейчас его перечитал, и перестал понимать. Может, ты имеешь в виду первичный ключ, а не autoinc?
А то зачем тебе autoinc в составном ПК из example_id и value_id?
или ты хочешь "гарантировать" что-нибудь вроде
eid vid
1 1
1 2
1 3
2 1
2 2
... ?

StealthAIDS
Сообщения: 15
Зарегистрирован: 10 янв 2007, 18:35

Сообщение StealthAIDS » 26 янв 2007, 17:01

Вот-вот. Именно этого эффекта.
1 1
1 2
1 3
3 1
3 2
3 3
3 4
3 5
...
Не обязательно в том же порядке, но, надеюсь, смысл ясен.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 26 янв 2007, 18:04

StealthAIDS писал(а):Не обязательно в том же порядке, но, надеюсь, смысл ясен.
Ты не ответил, дырки в нумерации допускаются или нет?

StealthAIDS
Сообщения: 15
Зарегистрирован: 10 янв 2007, 18:35

Сообщение StealthAIDS » 26 янв 2007, 20:04

В value_ID - НЕТ!
И я не могу создать их заранее - не зная сколько их будет.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 26 янв 2007, 20:07

Если тебя устроит - то самое лучшее, что уже посоветовал Дмитрий - пихай свой массив в BLOb, и работай с ним на клиенте.

StealthAIDS
Сообщения: 15
Зарегистрирован: 10 янв 2007, 18:35

Сообщение StealthAIDS » 27 янв 2007, 18:42

Спасибо. Подумаю как этого добиться...

Ответить