我们正在将应用程序从 oracle 迁移到 SQL Server。
在 Oracle 中,用于返回嵌入了一些 HTML 标记的 XML 的过程。
来源如下。
SELECT XMLAGG (
XMLFOREST (
XMLELEMENT ("a", XMLATTRIBUTES ('#' AS "href"), MODULENAME) "h3",
XMLELEMENT (
"ul",
XMLAGG (
XMLELEMENT (
"li",
XMLELEMENT (
"a",
XMLATTRIBUTES (
'#' AS "href",
'pageclick('''
|| SCREENPATH
|| ''','|| SCREENID||')' AS "onclick"),
SCREENNAME))
ORDER BY SORDER ASC)) "div")
ORDER BY MORDER ASC).getclobval ()
FROM (SELECT B.SUBMODULEID MODULEID,
C.PAGEID SCREENID,
C.PAGENAME SCREENNAME,
C.PAGECODE,
B.SUBMODULEID,
B.SUBMODULENAME MODULENAME,
C.PAGEURLL1 SCREENPATH,
C.ORDERNO SORDER,
B.ORDERNO MORDER
FROM SETP.SM_PAGES C,
SETP.SM_MODULES A,
SETP.SM_SUB_MODULES B,
SETP.SM_USRPRIVHDR D,
SETP.SM_USRPRIVDTL E
WHERE D.USRPRIVID = E.USRPRIVID
AND C.PAGEID = E.PAGEID
AND B.MODULEID = A.MODULEID
AND C.SUBMODULEID = B.SUBMODULEID
AND D.USRID = 2) page
GROUP BY MODULENAME, MORDER;
这是输出
<h3>
<a href="#">Masters</a>
</h3>
<div>
<ul>
<li>
<a href="#" onclick="pageclick('WmsSetup.aspx/BaggingConfig',1177)">Bagging Configuration</a>
</li>
<li>
<a href="#" onclick="pageclick('WMS.aspx/Items',1171)">Item Master</a>
</li>
</ul>
</div>
在不使用 XSLT 的情况下,我一直在努力在 SQL Server 中实现相同的目标。有任何想法吗 ?
感谢和问候