Синтаксис языка запросов Documentum

Я хотел бы знать, есть ли в DQL способ получить строки на основе значений начальной и конечной строк. (Наподобие строки №1 — 1000, 1001 — 2000). (аналогично номеру строки в запросах оракула).

Этот вклад будет большим подспорьем.


person Ajai Gopal    schedule 08.08.2013    source источник


Ответы (2)


Для разбивки на страницы DQL-запроса Documentum вы можете (должны) использовать подсказку RETURN RANGE, например

select * from dm_document where object_name like 'ABC%' enable(RETURN_RANGE 1001 2000 1000 'object_name ASC' )

он будет сортировать документы по object_name, а затем возвращать до 1 тыс. строк, начиная со строки с номером 1001 и заканчивая 2000, оптимизированной для 1 тыс. верхних (отсортированных) строк.

Синтаксис RETURN_RANGE starting_row ending_row [optimize_top_row] 'sorting_clause'

Он работает с Content Server CS 6.6 с любой базовой базой данных.

Ссылка на документ сообщества

person CoolMagma    schedule 14.02.2017

Я не верю, что это возможно с использованием DQL. Однако вы можете обратиться к Справочному руководству по DQL (см. Powerlink), в котором содержится информация о подсказках DQL (есть раздел о них). Обсуждаются сквозные подсказки, которые позволяют вам передавать подсказки базовой СУБД. Доступные подсказки зависят от того, является ли это Oracle, SQL Server, DB2 и т. д.

Это выдержка из этого раздела:

Сквозные подсказки — это подсказки, которые передаются на сервер СУБД. Они не обрабатываются Content Server.

SQL Server и Sybase имеют два типа подсказок: те, которые применяются к отдельным таблицам, и те, которые применяются глобально, ко всему оператору. Чтобы приспособиться к этому, вы можете включить сквозные подсказки либо в исходный список инструкции SELECT, либо в конец инструкции. Подсказки, которые вы включаете в список источников, должны относиться к таблице. Подсказки, которые вы включаете в конце инструкции, должны быть глобальными. Например, следующий оператор включает в себя сквозные подсказки для Sybase на уровне таблицы и на уровне оператора:

SELECT "r_object_id" FROM "dm_document" WITH
(SYBASE('NOHOLDLOCK')) WHERE "object_name"='test' ENABLE (FORCE_PLAN)

Для DB2 и Oracle включайте сквозные подсказки только в конце инструкции SELECT.

person Brendan Hannemann    schedule 08.08.2013