![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Индекс и длинное строковое поле в FB
}|{yk © (2005-02-22 11:37:00)В 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:00) [1]>Но что мне делать, если больше?
Достаточно известное решение - вычислять и хранить хеш на данные (длинная строка в данном случае), и делать индекс на хеш (если цель - уникальность).