![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
тригер на недопущение повторения ID [D6, firebird 1.5]
AVP_opck © (2004-02-19 10:51:00)в одном тригере before insert
есть такая строка
IF (NEW.ID is NULL) THEN NEW.ID = GEN_ID(CardsID_GENERATOR, 1);
работает хорошо. но хотелось бы чтоб этот
тригер еще не допускал повторений ID в таблице,
а так происходит если указывать ID не NULL
и причем этот ID может быть любая цифра.
тобишь возможность поставить какуюто свою но чтоб такой больше небыло
AVP_opck (2004-02-19 12:05:00) [1]stud
в принципе я и есть этот юзер. гыгы
просто ибэксперт копаю
а прога не мной написана. но кой че криво
Sergey13 (2004-02-19 12:01:00) [2][20] Ошибка. 8-)
Sergey13 (2004-02-19 12:00:00) [3]>понятно все стало!!
Тебе но не всем остальным.
Sergey13 (2004-02-19 11:59:00) [4]>понятно все стало!!
Всем кроме тебя.
AVP_opck (2004-02-19 11:57:00) [5]во! понятно все стало!!
всем спасибо
stud (2004-02-19 11:54:00) [6]а зачем первичный ключ вводить руками?? об этом ключе должен знать сервер и программист. а если юзеру нужно ввести какуюто цифру - так сделай ему отдельное поле и пускай радуется))
Val (2004-02-19 11:54:00) [7]AVP_opck (19.02.04 11:37) [14]
ALTER TABLE CARDS ADD PRIMARY KEY (ID);
есть уже такое
только не помогает
не помогает от чего? опишите процесс вставки и в чем проблема
Sergey13 (2004-02-19 11:43:00) [8]2AVP_opck (19.02.04 11:37) [14]
>ALTER TABLE CARDS ADD PRIMARY KEY (ID);
есть уже такое
только не помогает
Что значит не помогает. Дубли встречаются? Как узнал?
Zacho (2004-02-19 11:37:00) [9]
> AVP_opck (19.02.04 11:31) [11]
А нафига их два для искуственного ПК ?
А вообще, почитай статьи на http://www.ibase.ru/develop.htm
AVP_opck (2004-02-19 11:37:00) [10]Sergey13
ALTER TABLE CARDS ADD PRIMARY KEY (ID);
есть уже такое
только не помогает
Sergey13 (2004-02-19 11:36:00) [11]2AVP_opck (19.02.04 11:31) [11]
>хм а по полю ID есть 2 уникальных
>индекса и по возрастанию и по убыванию
А вот это круто, это по нашему, по рабоче-крестьянскому. Уж если делать так с запасом, на века.!!! Теперь ты дважды спокойно можешь спать. 8-)
Sergey13 (2004-02-19 11:32:00) [12]2stud © (19.02.04 11:18) [7]
Легко и с первого. Просто число здоровое надо сразу взять. 8-)
2AVP_opck (19.02.04 11:27) [8]
А чего не ясного то. Создай для этого для уникальный индекс. Если поле - первичный ключ, он создастся автоматически. После этого забудь об этой проблеме.
AVP_opck (2004-02-19 11:31:00) [13]хм а по полю ID есть 2 уникальных
индекса и по возрастанию и по убыванию
Val (2004-02-19 11:29:00) [14]>AVP_opck (19.02.04 11:27) [8]
если вообще, то поднять правую руку, резко опустить, сказав "а ну это все к..."
если по вопросу, то - читать ответы.
AVP_opck (2004-02-19 11:28:00) [15]че куда прописать
AVP_opck (2004-02-19 11:27:00) [16]и что в итоге сделать то
stud (2004-02-19 11:18:00) [17]
> Только уникальный индекс (в общем случае) спасет отца русской
> демократии.
а если еще и хочется)) интересно с какого раза он подберет нужный))
Michail Dalakov (2004-02-19 11:17:00) [18]Записывать в триггире уникальные значения не есть хорошо, лучше их получать заранее и записывать при Insert
Sergey13 (2004-02-19 11:04:00) [19]2stud © (19.02.04 10:55) [4]
>так нужно ставить не какую-то свою
А если хочется? 8-)
2AVP_opck
Только уникальный индекс (в общем случае) спасет отца русской демократии.
stud (2004-02-19 10:55:00) [20]так нужно ставить не какую-то свою, а использовать тот же генератор