Форум: "Базы";
Текущий архив: 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.038 c