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

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

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

Если нужен свой ИД, определите индекс на одно/несколько свойств с ключевым словом Idkey
...
Рейтинг: 0 / 0
23.06.2005, 12:30
    #33130942
bdv9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле ID
Есть покупная программа, в которой данные упорядочиваются по ID, а не по названию. Поэтому хочу перебить ID, чтобы шло по порядку.
...
Рейтинг: 0 / 0
23.06.2005, 13:12
    #33131095
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле ID
Если 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
23.06.2005, 13:14
    #33131105
Rostislav1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле ID
Еще раз повторяю:
Note that once you save an object its object ID value cannot change.
После сохранения объекта его ID изменить невозможно.

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

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

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


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