Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Индекс и длинное строковое поле в FB   Найти похожие ветки 

 
}|{yk ©   (2005-02-22 11:37) [0]

В FB нельзя создать индекс, если длина его составляющих больше 255 байт. Но что мне делать, если больше?
Я попробовал написать триггер
AS
declare variable count_dup integer;
begin
 select count(1) from APP_PLATEG where
 RS_ID=new.rs_id and
 KONTR_ID = new.kontr_id and
 PLAT_NOM = new.plat_nom and
 PLAT_DATE = new.plat_date and
 PLAT_SUM = new.plat_sum and
 DEB_KRED = new.deb_kred and
 KOMENT = new.koment
 into count_dup;
 if (inserting) then
 if (count_dup>1) then
  Exception PLATEG_DUP;
 if (updating) then
  if (new.koment<>old.koment) then
   if (count_dup>0) then
    Exception PLATEG_DUP;
end

вроде, должен работать правильно. Но почему-то дублирование таки есть! Как правильно?


 
Johnmen ©   (2005-02-22 11:46) [1]

>Но что мне делать, если больше?

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



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.042 c
3-1109616253
Arazel
2005-02-28 21:44
2005.03.27
Можно ли создать ключ без УНИКАЛЬНОСТИ? в MSSQL ?


3-1108961050
Ярослав
2005-02-21 07:44
2005.03.27
Глобальные переменные в FireBird


1-1110874865
Гость
2005-03-15 11:21
2005.03.27
Как сделать, чтоб нельзя было "уйти" из формы без ее закрытия?


14-1110382866
bish0p
2005-03-09 18:41
2005.03.27
A4tech Anti-RSI Keyboard


3-1109154080
serg128
2005-02-23 13:21
2005.03.27
Помогите с LookUp полями!