Страница 1 из 1

Узнать количество записей

Добавлено: 27 ноя 2008, 16:20
galover
Всем привет, как узнать количество записей, удовлетворяющих ограничению.

скажем есть вьюха

select * from x$ActiveUsers users ((_someNRec == users.UserCode));

пишу
if (getFirst users = tsOk)
{
//Здесь нужно узнать кол-во записей,попавших в выборку
}

Можно ли узнать количество записей в users, не прибегая к _loop, есть ли такие функции?

Добавлено: 27 ноя 2008, 16:48
Den
При обычный VIP-функциональности нельзя. Видимо только в прямом sql можно (смотрите доку по нему...).

Но я так понимаю, что все равно, в приниципе, происходит выборка из БД и оценка кол-во потенциально возвращенного резалт-сета.
Просто на обычном языке вип приходится еще узнавать это только с помощью _loop. При больших объемах данных, в потенциально большом объектие LOT выигрышь по скорости при использовании прямого скуль должен быть значителен

Добавлено: 27 ноя 2008, 17:13
edward_K
поищите rowcount и visualcount в vipprogr.chm - иногда можно имм воспользоваться. Да агрегатные какие никакие добавили.

Добавлено: 27 ноя 2008, 17:45
Den
лучший вариант (если у Вас скуль-палтформы) это :

....
COUNT([ALL | DISTINCT] expression) | *) - определяет количество строк или значений поля, выбранных посредством запроса и не являющихся NULL-значениями.

....