Конец как ключевое слово в заявлении Oracle SQL Case
Я использую два случая в запросе ниже, чтобы получить результаты daction & ApprovalType. При выполнении приведенного ниже запроса в Oracle SQL создает два новых временных столбца как daction_1 & ApprovalType _1 для столбцов 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
1 ответ
Глядя на названия столбцов, я предполагаю, что Idoc
это язык сценариев, используемый в Oracle Webcenter Content Server (ранее Oracle UCM). У меня нет под рукой работающего экземпляра для проверки, но я уверен, что вы можете создать представление базы данных с нужными вам столбцами, а затем увидеть его как обычную таблицу в Configuration Manager. Следующая ссылка предоставляет некоторые детали процесса настройки. Другой вариант - переместить вашу логику в сам код Idoc, хотя он может быть менее производительным.