我在下面的查询中使用两个案例来获得daction&的结果。 ApprovalType。 在Oracle SQL中运行以下查询时,会创建两个新的临时列,如daction_1& ApprovalType _1 for daction&分别为ApprovalType列。现在,我想在我的IDOC代码中使用这些关键字,但由于临时列已创建,我无法使用它们。怎么解决这个?
SELECT WH.dActionDate,
WH.xWF_SendTo,
WH.dAction,
ATY.ApprovalType,
WH.xWorkflowComments,
CASE
WHEN NVL(ApprovalType,'') IS NULL
THEN xPurposeForRejection
ELSE ApprovalType
END AS ApprovalType,
CASE
WHEN NVL(dAction,'') ='SendTo'
AND NVL(ApprovalType,'') IS NOT NULL
OR NVL(dAction,'') ='Approve'
THEN 'Approve'
ELSE 'Reject'
END AS dAction
FROM WorkflowHistory WH,
Reason Re,
ApprovalType ATY
WHERE UPPER(dDocName) = UPPER('D_1239178')
AND xPurposeForSubmission = Re.ReasonID(+)
AND xDocApproval = ATY.ApprovalTypeID(+)
AND (dAction IN('Reject','Approve')
OR (dAction ='SendTo'
AND ApprovalType IS NOT NULL))
AND ROWNUM <= 5
ORDER BY dActionDate DESC,
dActionMillis
答案 0 :(得分:0)
查看列名称我假设Idoc
是Oracle Webcenter Content Server(以前称为Oracle UCM)中使用的脚本语言。我没有正在运行的实例来检查,但我很确定您可以使用所需的列创建数据库视图,然后在Configuration Manager中将其视为常规表。 Following link提供了配置过程的一些细节。另一个选择是将您的逻辑移动到Idoc代码本身,尽管它可能性能较差。