#pas
procedure THIBetween._work_doCheck; // проверка чисел
var
Dt:TData;
L,R,D:TData;
BEGIN
D := ReadData(_Data,_data_Check,@_prop_Check);
L := ReadData(_Data,_data_Left,@_prop_Left);
R := ReadData(_Data,_data_Right,@_prop_Right);
if Compare(D,L,4) and Compare(D,R,3)then
_hi_CreateEvent(_Data,@_event_onTrue,D)
else
_hi_CreateEvent(_Data,@_event_onFalse,D);
END;
nesco писал(а):
MST_Virtual
Там есть пара интересных примеров.
Пара вопросов:
Для того, что бы получить имена колонок - делаешь запрос Select * From ... т.е. перебираешь все (как писал Neo) 15 000 строк.
При этом 15 000 раз ищешь max(id) и 15 000 раз отнимаешь от этого max(id) единичку.
А если миллион записей ?
1. Почему не применить SELECT * FROM .... LIMIT 1; ?
За один раз получишь все удовольствия. Даже на elements 10-кратный выигрыш. Повторюсь - А если миллион записей ?
2. Привязка к max(id) не лучший вариант. А если Neo удалил с 5 по 14999 строку, т.е. в таблице осталось всего 5 строк, а max(id)=15000.
Про что расскажет max(id) ? Получишь сотню пустых страниц. Листай - не хочу.
А если id нет ?
Привязываться нужно к count(). ИМХО.
[/flood]