powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / index
9 сообщений из 9, страница 1 из 1
index
    #32514852
Michaylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица и в ней паспортные данные
pser varcahar(2),
pkod varchar(12) //вносяться только цифры (varchar для того,чтобы можно было хранитить 00123456)
На них установлен уникальный индекс ...(pser,pkod)
Всё работает нормально, но как мне устранить такую вещь
если внести "АС" рускими буквами, а потом "AC" латинскими то индекс не срабатывает,
я понимаю что так и должно быть, но может есть способ перевести с одной кодировки в другую для того чтобы заменять латинские буквы на кирилицу в тригере before update ?
Зарание благодарен
...
Рейтинг: 0 / 0
index
    #32514863
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай триггер BEFORE INSERT и BEFORE UPDATE. Или один универсальный, если у тебя FB1.5.
В нем проверяй значение и приводи к нужному тебе алфавиту.
...
Рейтинг: 0 / 0
index
    #32514922
Kostya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To Michaylo В качестве дополнения.
Я тут статейку прочитал по совету Мимопроходящего, за что кстати ему большое спасибо, как хранятся типы CHAR и VARCHAR (www.ibase.ru)
И судя по всему тебе выгоднее использовать CHAR, ну по крайней мере для серии.
...
Рейтинг: 0 / 0
index
    #32514966
Michaylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
// В нем проверяй значение и приводи к нужному тебе алфавиту
Как проверять?
// И судя по всему тебе выгоднее использовать CHAR, ну по крайней мере для серии
Согласен, но база рабочая и переделывать ее нет возможности.
Если возможно поменять тип то как (хотя я сомневаюсь) на рабочей базе.
Без полной остановки ее работы и использования "data pump".

Зарание благодарен
...
Рейтинг: 0 / 0
index
    #32515012
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не трогай. В данном случае это не критично. На пару байт больше, не смертельно.
А по поводу проверки и замены, лучше всего написать свою UDF.
Как писать смотри тут .
...
Рейтинг: 0 / 0
index
    #32515120
Michaylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ничего другого не придумаю напишу UDF.
Хотя это не панацея :)
Может воспользуюсь масивами если они в FB1.5 остались (жаль с ними не работал.)
А может есть другие варианты ?
Зарание благодарен
...
Рейтинг: 0 / 0
index
    #32515130
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Массивы тут тебе не помогут.
Если влом писать UDF, пиши обработку прямо в триггере на PSQL, используя встроенную функцию SUBSTRING ( <string expr> FROM <pos> [ FOR <length>]).
Правда, возни в этом случае, гораздо больше.
...
Рейтинг: 0 / 0
index
    #32515356
так может
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
быть проверку на стороне клиента делать перед отправкой данных на сервер.
Там можно и множества для этого использовать и много других фич.
...
Рейтинг: 0 / 0
index
    #32515358
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И забить болт на целостность, клиент-серверные технологии и пр.
Фи.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / index
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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