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

Вниз

Кто нить делал такое?   Найти похожие ветки 

 
Afreet   (2002-07-25 07:29) [0]

У меня есть таблица Paradox, в которой 400000 записей. Необходимо организовать чтение таблицы кусками по 500 записей, чтобы программа не висла. Таблица содержит следующие поля: Field1(DATETIME), Field2(INTEGER), Field3(INTEGER), Field4(FLOAT). По первым трём полям организован ключ. SELECT я использую примерно так: SELECT TOP 500 * FROM Таблица. Первый кусок я прочитываю без проблем, а вот как дальше сделать - не соображу. Помогите!


 
Praco ©   (2002-07-25 09:14) [1]

1 раз
SELECT TOP 500 * FROM Таблица
затем запоминаешь максимальное значение(max_key) ключа и
SELECT TOP 500 * FROM Таблица where ключ > max_key


 
Praco ©   (2002-07-25 09:19) [2]

А TOP 500 в Парадоксе применимо? Локальный SQL не поддерживает.


 
Anatoly Podgoretsky ©   (2002-07-25 09:19) [3]

Afreet (25.07.02 07:29)
Ты утверждаешь, что данная конструкция с TOP работает на Парадоксе


 
Afreet   (2002-07-25 09:42) [4]

TADOQuery без проблем отрабатывает такой SELECT.

Praco твоя конструкция работала бы в том случае, если б ключевое поле было номером записи. У меня в связи с этим такой вопрос. Как пронумеровать записи в SELECTе. Для Oracle эта проблема решается использованием в конструкции SELECT функции rowcount, если не ошибаюсь, а вот для Paradox как? Есть чёнить подобное - конструкция типа:

SELECT ROWCOUNT, * FROM [Откуда]


 
Praco ©   (2002-07-25 11:06) [5]

Не знал про TOP в TADOQuery.
Номер записи не при чем.
Ключ: f1, f2, f3.
1 раз
SELECT TOP 500 * FROM Таблица order by f1, f2, f3
затем запоминаешь максимальное значение(f1_, f2_, f3_) и
SELECT TOP 500 * FROM Таблица where f1 > f1_ and ... order ...


 
Afreet   (2002-07-25 11:29) [6]

Praco! спасибо. По моему должно сработать. Как я забыл про сортировку! Иногда из головы вылетают такие простые вещи.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-48010
Alexsys
2002-07-25 21:43
2002.08.15
Поиск в табличке по неполному слову по нескольким полям


6-48224
ole
2002-06-01 07:45
2002.08.15
Отключение клиента TClientSocket.


6-48243
bob1906
2002-05-31 00:11
2002.08.15
Помогите написать прогу типа BackOrifice для Windows


3-47926
sergey32
2002-07-24 18:27
2002.08.15
Обратная нотификация


1-48086
Programmer1
2002-08-01 15:58
2002.08.15
Управление COM - сервером Excel