【发布时间】:2013-08-08 07:23:29
【问题描述】:
我想知道 DQL 中是否有一种方法可以根据开始行和结束行的值来获取行。 (如行号 1 - 1000、1001 - 2000)。 (类似于oracle查询中的rownumber)。
这个输入会有很大帮助。
【问题讨论】:
标签: sql dql documentum documentum6.5
我想知道 DQL 中是否有一种方法可以根据开始行和结束行的值来获取行。 (如行号 1 - 1000、1001 - 2000)。 (类似于oracle查询中的rownumber)。
这个输入会有很大帮助。
【问题讨论】:
标签: sql dql documentum documentum6.5
对于 Documentum DQL 查询分页,您可以(应该)使用 RETURN RANGE 提示,像这样
select * from dm_document where object_name like 'ABC%' enable(RETURN_RANGE 1001 2000 1000 'object_name ASC' )
它将按 object_name 对文档进行排序,然后返回最多 1K 行,从行号 1001 开始到 2000 结束,针对 1K 顶部(已排序)行进行了优化。
语法是RETURN_RANGE starting_row ending_row [optimize_top_row] 'sorting_clause'
它从 Content Server CS 6.6 起适用于任何底层数据库。
【讨论】:
我不相信使用 DQL 可以做到这一点。但是,您可以查阅 DQL 参考指南(查看 Powerlink),其中包含有关 DQL 提示的信息(有一个关于它们的部分)。有一个关于传递提示的讨论,允许您将提示传递到底层 RDBMS。可用的提示取决于是 Oracle、SQL Server、DB2 等。
这是该部分的摘录:
传递提示是传递给 RDBMS 服务器的提示。他们 不由 Content Server 处理。
SQL Server 和 Sybase 有两个 各种提示:适用于单个表的提示和适用于单个表的提示 全局应用到整个语句。为了适应这种情况,您可以 在 SELECT 语句的源列表中包含直通提示 或在语句的末尾。您在源代码中包含的提示 list 必须是特定于表的提示。您在末尾包含的提示 该语句必须是全局提示。例如,以下 语句包括 Sybase 在表级别的直通提示和 语句级别:
SELECT "r_object_id" FROM "dm_document" WITH
(SYBASE('NOHOLDLOCK')) WHERE "object_name"='test' ENABLE (FORCE_PLAN)
对于 DB2 和 Oracle,仅在末尾包含直通提示 SELECT 语句。
【讨论】: