我们的观点如下
CREATE VIEW CORE_V_LOG_OUTPUT AS
select SERIAL, xtab.OUTPUT_ROW, xtab.OUTPUT_NAME, xtab.OUTPUT_VALUE
FROM bizzcore_log, XMLTable('declare namespace s="http://xml.snow.com/bizz/logging";
for $i in $x/s:Info/s:Output/s:rowValues/s:value
return document { <row> <num>{count($i/../../s:rowValues[. << $i/../.]) +1} </num>
<col>{$i/../../s:columnNames/s:name[count($i/../*[. << $i]) +1]}</col>
{if (($i/.)[1]/@value) then <val>{ string(($i/.)[1]/@value)} </val>
else <dummy></dummy>} </row> }'
PASSING Info as "x" COLUMNS OUTPUT_NAME VARCHAR(256) PATH '/row/col',
OUTPUT_VALUE VARCHAR(256) PATH '/row/val',OUTPUT_ROW INT PATH '/row/num') xtab;
我们可以成功地在DB2 LUW和DB2 / 400上创建视图。但是在DB2 V10 for z / OS上创建视图将得到以下错误:
SQLCODE = -16031,SQLSTATE = 10509,SQLERRMC =节点比较
因此DB2 for z / OS不支持节点比较。现在我的问题是如何使用XQuery(或不使用)以其他方式编写视图?
请告诉我一些关于此的事,谢谢!
答案 0 :(得分:0)
目前,DB2 V10 for z / OS目前不支持节点比较。所以这个问题没有简单的解决方案。