powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
10 сообщений из 10, страница 1 из 1
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32120994
Serge A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли в InterBase/FireBird создать уникальный индекс, который бы не учитывал регистр символов в значении поля?

Например, на поле NAME VARCHAR(20) создан UNIQUE INDEX.
Если, например, в одной из записей NAME='Иванов', то при добавлении записи с NAME='ИВАНОВ' или NAME='иванов' сервер сообщил бы о нарушении уникальности индекса?

Или, может быть, существует другое решение проблемы?

Заранее спасибо.
Сергей
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32120998
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, вообще, лучше сделай уникальным интегер какой нить. И увеличивай его при добавлении на единичку в триггере на инсерт. Я не знаю как именно у тебя эти фамилии используются, но вдруг у тебя два брата Иванова? Или ты и имя и отчество и год рождения в уникальное поля поместиш ?-)
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32121039
Serge A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требуется избежать появления одинаковых фамилий при добавлении новых записей. Первичный ключ здесь не при чем...
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32121071
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как насчет братьёв, однофамильцев? или политика компании запрещает подобное ?-)
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32121105
Serge A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже если с учетом имени отчество. Если есть ФИО "Иванов И.И.", то сервер должен запретить добавление ФИО "ИВАНОВ И.И"
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32121210
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. Сделай триггер перед вставкой и изменением с проверкой EXISTS.
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32121783
Можно сделать уникальное поле,
и хранить в нем строки в Upper Case например, (с индексом)
и при вставке/редактировании преобразовывать строки в верхний регистр.
при выводе - преобразоввывать в нужный вид.
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32122514
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В нужный это какой?
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32125307
San555555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при добавлении и редактировании записи пусть срабатывает триггер. он и должен проверять, есть ли одинаковые фамилии, при этом надо сделать сравниваемые строки одинакового регистра. если есть сопадения, от ворот поворот - сообщение об ошибке...
...
Рейтинг: 0 / 0
Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
    #32125364
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это может оказаться довольно медленным... Дело в том что поиск получается не по индексу и просматривается каждый раз для каждой строки вся таблица... Модет быть лучше сделать дополнительный столбец, в котором будет эта же строка, но написанная скажем ТОЛЬКО большими буквами и по которой будет стоять индекс... Скорость работы увеличится... Но увеличатся и напряги, нужен будет триггер на вставку и изменение записи, который будет дублировать (с преобразованием к верхнему регистру) первый столбец...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание уникального индекса БЕЗ УЧЕТА РЕГИСТРА
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]