-2
我需要在使用xquery的列中输出一条消息,指出“匹配”或“不是员工”。我使用的是4444的预留位置,不知道如何通过查询XQuery选择并检查现有员工的消息
SELECT
EXTRACTVALUE(B.JOBSHEET_DETAILS, '/jobSheet[@jobNo]/@jobNo') AS "JOB_DETAILS_ID",
XMLQUERY(' for $j in /jobSheet/employee[@empNo]/@empNo
let $msg := if ($j) then "Employee details match a current employee" else "Error in employee details (no match)"
where $j = 4444
return $msg
'
PASSING B.JOBSHEET_DETAILS
RETURNING CONTENT).getstringval() AS "CHECK_EMP_DETAILS" ,
EXTRACTVALUE(B.JOBSHEET_DETAILS, '/jobSheet/employee[@empNo]/@empNo') AS "EMP_NO",
EXTRACTVALUE(B.JOBSHEET_DETAILS, '/jobSheet/employee/empName') AS "EMP_NAME",
EXTRACTVALUE(B.JOBSHEET_DETAILS, '/jobSheet/dateAttend/date') AS "DATE_ATTENDED"
FROM JOBSHEET_XML_TAB B
where XMLEXISTS('/jobSheet/employee[@empNo]/@empNo' passing B.JOBSHEET_DETAILS);
内迭代为一体,其他 XMLQUERY犯规触发器内。它应该是一个错误时输出(空)。
我需要检查所有员工如果在这个迭代中的$ j是一个现有的雇员或不。 $ j = 4444是否可以在emp中执行另一个select count(*),其中no = $ num。
请将当前和预期的输出显示为格式化文本,而不是图像;并包含您试图从中获取输出的XML。 –