Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
17.03.2003, 12:00
|
|||
---|---|---|---|
|
|||
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Можно ли в InterBase/FireBird создать уникальный индекс, который бы не учитывал регистр символов в значении поля? Например, на поле NAME VARCHAR(20) создан UNIQUE INDEX. Если, например, в одной из записей NAME='Иванов', то при добавлении записи с NAME='ИВАНОВ' или NAME='иванов' сервер сообщил бы о нарушении уникальности индекса? Или, может быть, существует другое решение проблемы? Заранее спасибо. Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.03.2003, 12:04
|
|||
---|---|---|---|
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Ну, вообще, лучше сделай уникальным интегер какой нить. И увеличивай его при добавлении на единичку в триггере на инсерт. Я не знаю как именно у тебя эти фамилии используются, но вдруг у тебя два брата Иванова? Или ты и имя и отчество и год рождения в уникальное поля поместиш ?-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.03.2003, 12:35
|
|||
---|---|---|---|
|
|||
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Требуется избежать появления одинаковых фамилий при добавлении новых записей. Первичный ключ здесь не при чем... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.03.2003, 13:09
|
|||
---|---|---|---|
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
А как насчет братьёв, однофамильцев? или политика компании запрещает подобное ?-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.03.2003, 13:34
|
|||
---|---|---|---|
|
|||
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Даже если с учетом имени отчество. Если есть ФИО "Иванов И.И.", то сервер должен запретить добавление ФИО "ИВАНОВ И.И" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.03.2003, 14:53
|
|||
---|---|---|---|
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Привет. Сделай триггер перед вставкой и изменением с проверкой EXISTS. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2003, 10:28
|
|||
---|---|---|---|
|
|||
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Можно сделать уникальное поле, и хранить в нем строки в Upper Case например, (с индексом) и при вставке/редактировании преобразовывать строки в верхний регистр. при выводе - преобразоввывать в нужный вид. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.03.2003, 02:55
|
|||
---|---|---|---|
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
В нужный это какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.03.2003, 05:55
|
|||
---|---|---|---|
|
|||
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
при добавлении и редактировании записи пусть срабатывает триггер. он и должен проверять, есть ли одинаковые фамилии, при этом надо сделать сравниваемые строки одинакового регистра. если есть сопадения, от ворот поворот - сообщение об ошибке... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.03.2003, 09:37
|
|||
---|---|---|---|
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА |
|||
#18+
Это может оказаться довольно медленным... Дело в том что поиск получается не по индексу и просматривается каждый раз для каждой строки вся таблица... Модет быть лучше сделать дополнительный столбец, в котором будет эта же строка, но написанная скажем ТОЛЬКО большими буквами и по которой будет стоять индекс... Скорость работы увеличится... Но увеличатся и напряги, нужен будет триггер на вставку и изменение записи, который будет дублировать (с преобразованием к верхнему регистру) первый столбец... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1580733]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 439ms |
0 / 0 |