Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 Запрос к большой таблице  [new]
Dmytro.Boiko
Member

Откуда:
Сообщений: 1
Добрый день, коллеги.
Есть таблица с большим количеством записей и к которой выполняются запросы типа Select * from myTable
Есть переменная, содержащая в себе количество строк, которое нужно отобразить.
Как реализовать следующую логику: если количество возвращаемых строк меньше заданного в переменной количества, то отобразить все строки, иначе - спросить выводить все или остановиться.

Задача в том, чтоб не вытягивать все строки из таблицы на клиента.

База - Терадата.
Коннектчусь через ODBC.

Спасибо.
7 фев 12, 14:46    [12047286]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к большой таблице  [new]
_Case
Member

Откуда:
Сообщений: 145
Попробуйте такой запрос:

SELECT TOP(100) * FROM [your_table] ORDER BY [some_field]

- так будет извлечено первые 100 записей.
19 мар 12, 12:46    [12272903]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к большой таблице  [new]
_Case
Member

Откуда:
Сообщений: 145
Если у Вы используете MS SQL Server 2008, то можете использовать переменную прямо на SQL-е так:

TOP (record_count)

если версия ниже или не MS SQL, то сделайте на уровне ADO.NET так:

string.Format("SELECT TOP({0} * FROM [your_table] ORDER BY [some_field]", recordCount);
19 мар 12, 12:49    [12272927]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить