Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

Индекс и длинное строковое поле в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.036 c
1-1111029415
Sash
2005-03-17 06:16
2005.03.27
messagedlg


3-1109682392
Arazel
2005-03-01 16:06
2005.03.27
А как вообще каскадно удалять данные?


3-1109307125
alex_pv2
2005-02-25 07:52
2005.03.27
ADO+MSSQL


14-1110312734
Ukrainian
2005-03-08 23:12
2005.03.27
Украина. Кироваоградская обл.


3-1109153390
Sour
2005-02-23 13:09
2005.03.27
Подскажите как реализовать следующую функциональность интерфейса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский