如何使用 SQL 查询 Maximo 域?
Posted
技术标签:
【中文标题】如何使用 SQL 查询 Maximo 域?【英文标题】:How to query a Maximo domain with SQL? 【发布时间】:2019-09-27 14:41:05 【问题描述】:我在 Maximo 7.6.1.1 中有一个名为 DIVISIONS 的域。
我想编写一个查询 DIVISIONS 域以获取 VALUE 和 DESCRIPTION 字段的 SELECT 语句。
查询会变成一个视图;通过 dblink 在单独的数据库中使用。
【问题讨论】:
【参考方案1】:只需在MAXDOMAIN表中添加标识域描述和类型(DOMAINTYPE)。
对于表域和交叉域(都从数据库表中查找值,MAXTABLEDOMAIN 中将有一个附加条目。此记录上的 OBJECTNAME 属性将标识所引用的源表。
对于跨域域,CROSSOVERDOMAIN 表将包含许多目标域的源和目标对 - 使用时将导致源值从标识为 OBJECTNAME 的表复制到与跨界域。
您可以通过查看 MAXATTRIBUTE 表(WHERE ATTRIBUTENAME = 'target attribute' AND OBJECTNAME = 'target_object' 然后检查 DOMAINID 值)来查看哪些域与各个属性相关联
:)
【讨论】:
【参考方案2】:我可以查询ALNDOMAIN表(ALN代表字母数字):
select
*
from
alndomain
where
domainid = 'DIVISIONS'
对于它的价值,还有一个 parent 域表(因为缺少更好的词)。
select
*
from
maxdomain
where
domainid = 'DIVISIONS'
【讨论】:
【参考方案3】:在 maximo 中,有一个包含所有类型域条目的表。 为了查询该表,您可以像这样查询
SELECT * FROM MAXDOMAIN WHERE DOMAINID='DOMAINID' AND DOMAINTYPE='SYNONYM';
maximo 根据域的类型有单独的表格。
SELECT * FROM NUMRANGEDOMAIN WHERE DOMAINID='NUMRANGEDOMAINID';
SELECT * FROM CROSSOVERDOMAIN WHERE DOMAINID='CROSSOVERDOMAINID';
SELECT * FROM ALNDOMAIN WHERE DOMAINID='ALNDOMAINID';
SELECT * FROM SYNONYMDOMAIN WHERE DOMAINID='SYNONYMDOMAINID';
【讨论】:
PS:表域没有单独的表,并且 domainId 不是您的域的名称 是的,有 - MAXTABLEDOMAIN(包含交叉域和表域定义,请参阅 CROSSOVERDOMAIN 了解其他字段级别详细信息)以上是关于如何使用 SQL 查询 Maximo 域?的主要内容,如果未能解决你的问题,请参考以下文章
maximo开发中可能用到的一些sql(各级菜单查询完整删除应用)