我 正在 从 一 个 单独 的 应用 程序 接收 XML 。 我 的 Oracle 处理 程序 将 它们 拾取 并 在 FOR 循环 中 将 其 插入 Oracle 表 中 。 我 的 Oracle 代码 是 大写 的 , 如果 其他 应用 程序 与 此 大小写 不 匹配 , 它 将 不会 读取 记录 。 目前 , 我们 强制 双方 使用 相同 的 大小写 , 但 用于 将来 的 校对 - 我 是否 可以 将 传入 的 XML 转换 为 大写 , 以便 始终 读取 它 ?
FOR REC IN (SELECT XT.*
FROM XMLTABLE ('/UPLOAD_DATA/RECORD'
PASSING IN_XML
COLUMNS COLA VARCHAR2(30) PATH 'COLA',
COLB VARCHAR2(8) PATH 'COLB',
COLC VARCHAR2(8) PATH 'COLC',
COLD VARCHAR2(20) PATH 'COLD'
) XT)
LOOP
中 的 每 一 个
任何 帮助 都 很 感激 。 我 已经 在 几 个 地方 试 过 使用 UPPER , 但 还 没有 快乐 。 谢谢 。
1条答案
按热度按时间8ehkhllq1#
这似乎不是一个好主意,但是您 * 可以 * 将XMLType转换为CLOB,大写的that,然后再转换回XMLType:
或者,您可以保持XML不变,并将所有节点名称都大写:
......这是混乱的,更难维护。
fiddle使用SQL而不是PL/SQL,但应采用相同的方法。