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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
14-48268
Виктор
2002-07-14 10:48
2002.08.15
Печать на GDI-принтере


3-47993
SuperVK
2002-07-24 07:00
2002.08.15
TQuery : 9479 -


1-48052
der
2002-08-01 08:15
2002.08.15
Как объявить процедуру, чтоб ее было видно из другого юнита?


1-48019
Alex
2002-08-02 22:48
2002.08.15
Шутка юмора


1-48051
V.Turecky
2002-08-04 08:40
2002.08.15
CreateProcess. Нужна информация.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский