powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как определить количесвто записей в глобале
8 сообщений из 8, страница 1 из 1
Как определить количесвто записей в глобале
    #36332204
fotopravka.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какими средствами Cache можно определить количество записей в глобале.
См рисунок.
То есть имеем 52184 записи (строк) в глобале. Перерыл все что возможно, но так и не понял как можно узнать эту цифру средствами Cache. Что то близкое через $Order, но там больше для вычисления данных с повторяющимися значениями.
Что делать . какие есть варианты и предложения?
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36332289
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну такие данные нигде нельзя так просто получить, их в любом случае нужно посчитать самому
и самый простой способ это сделать через $Order

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 s cnt= 0 
 s ind=$o(^B.ADD("")) 
 while ind'="" {  
   s ind=$o(^B.ADD(ind))
   s t=$i(cnt)
 }
 w "узлов = ",cnt

_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36332563
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fotopravka.ruТо есть имеем 52184 записи (строк) в глобале.

Это значение счетчика для автоинкремента ID - если программы не оперируют с ним напрямую, и глобал не восстанавливается из внешнего файла - (счетчик при этом сотрется) - то он равен последнему (максимальному) ID.

К реальному кол-ву записей он имеет отдаленное отношение. Нужно узнать количество - вверху пример программы
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36332587
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s n="",n=$zp(^B.ADD(n)) w n

???
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36332661
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valerius n="",n=$zp(^B.ADD(n)) w n

???
это всего лишь покажет номер последней записи, на активной бд, в которой постоянно идет удаление добавление записей, это ничего не даст
и равнозначно

s n="",n=$o(^B.ADD(n),-1) w n
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36332697
fotopravka.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На самом деле вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 s cnt= 0 
 s ind=$o(^B.ADD("")) 
 while ind'="" {  
   s ind=$o(^B.ADD(ind))
   s t=$i(cnt)
 }
 w "узлов = ",cnt

и вариант
Код: plaintext
1.
s n="",n=$zp(^B.ADD(n)) w n 

очень пригодились. Мне нужны были оба варианта. Первый постольку поскольку, а второй - номер ID последней записи очень нужен, особенно когда идет цикл и встречаются дырки в ID. Так хоть знаешь до какого ID идти и если есть дырки в нумерации - то их пропускать.

Варианты разные. Этот вариант оказался рабочим и выдает номер ID последней записи (что требовалось)
Код: plaintext
1.
s n="",n=$zp(^B.ADD(n)) w n 

а вот такой вариант
Код: plaintext
1.
s n="",n=$o(^B.ADD(n),- 1 ) w n
Пишуе ошибку <Syntaxys>
и оказался нерабочим


Всем спасибо. Полностью получил ответ на свой вопрос.
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36332789
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый вариант, как раз удобен чтобы игнорировать дырки

а то что у вас ошибка синтаксиса, это может вы неправильно перепечатали

_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Как определить количесвто записей в глобале
    #36334157
fotopravka.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorпервый вариант, как раз удобен чтобы игнорировать дырки
а то что у вас ошибка синтаксиса, это может вы неправильно перепечатали


Перепроверил.

Код: plaintext
1.
s n="",n=$o(^B.ADD(n),- 1 ) w n
В самом деле вариант оказался рабочий
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как определить количесвто записей в глобале
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]