powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Поле ID
7 сообщений из 7, страница 1 из 1
Поле ID
    #33130820
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cache 5.0.10.5300.1790

Подскажите как можно корректировать столбец ID.
Этот столбец не виден на уровне класса в Studio, но отражается в SQL-менеджере как ID (обязательный и уникальный).
...
Рейтинг: 0 / 0
Поле ID
    #33130923
Rostislav1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем?

Note that once you save an object its object ID value cannot change.

Если нужен свой ИД, определите индекс на одно/несколько свойств с ключевым словом Idkey
...
Рейтинг: 0 / 0
Поле ID
    #33130942
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть покупная программа, в которой данные упорядочиваются по ID, а не по названию. Поэтому хочу перебить ID, чтобы шло по порядку.
...
Рейтинг: 0 / 0
Поле ID
    #33131095
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если Id обычный и нет индексов, то очень просто:
структура обычно такая:
Код: plaintext
 ^User.<class name>D(<ID>)=<data>
Надо на COS написать программу, которая просто перебросит данные в другие ID. Например (класс "test"):
Код: plaintext
1.
2.
3.
4.
5.
6.
 Merge ^CacheTemp1=^User.testD  ; сохраняем на всякий случай
 Kill ^User.testD
 ; дальше как надо пишеш в глобал
 Set ^User.testD(<newid>)=<data>
 ; в конце нужно
 Set ^User.testD=<номер последний Id+ 1 >
Если есть индексы, то нужно сначала их грохнуть, а затем
снова создать.
...
Рейтинг: 0 / 0
Поле ID
    #33131105
Rostislav1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз повторяю:
Note that once you save an object its object ID value cannot change.
После сохранения объекта его ID изменить невозможно.

Какой там доступ к данным в этой программе? Если SQL, то он не обязан каким-либо образом упорядочивать результат запроса (если не указан ORDER BY), но по факту сортировка идет по ИД.
В глобалях данные по умолчанию тоже хранятся примерно так:
^globalName(ID)=...

Может все-таки лучше использовать ORDER BY чем идти на такие радикальные меры?
...
Рейтинг: 0 / 0
Поле ID
    #33131216
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа выдает данные в виде дерева.
Упорядочивание элементов происходит по ID, а не по названию, а элементов много.
Похоже, что разработчики пошли по простому пути - элементы в дереве отображаются по порядку их занесения в базу, наверное чтобы не париться со стандартным инструментом для построения дерева.
Хочу написать программку, которая будет строить базу, упорядоченную по названию, но с сохранением порядка поступления узлов для дерева.
База корректируется редко, но сразу добавляется много позиций, после этого в упорядочивании полная каша.

To Maksim UM - ID стандартный, индекса по нему нет, попробую.
...
Рейтинг: 0 / 0
Поле ID
    #33131249
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bdv9To Maksim UM - ID стандартный, индекса по нему нет, попробую.
Я имел ввиду индексы по другим полям.
В любом случае, не помешает делать после обработки
(если не ошибаюсь)
Код: plaintext
1.
2.
  Do ##class(<class name>).%PurgeIndices()
  Do ##class(<class name>).%BuildIndices()
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Поле ID
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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