尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

ORACLE游标序列化

ORACLE游标序列化
📅 发布时间:2026/6/19 23:50:16

ORACLE游标序列化

ORACLE中可以直接调用接口,需要把数据构造成xml格式,方便请求参数构造.比如在使用select utl_http.request('http://www.baidu.com') from dual可以访问百度页面

1. 使用DBMS_XMLGEN序列化

declarectx DBMS_XMLGEN.CTXHANDLE;c_result CLOB;v_source SYS_REFCURSOR; 
BEGINOPEN v_source FOR select '小游戏1' F_A,'地心侠士' F_B from dualunion allselect '小游戏2','地心侠士' from dual;ctx := DBMS_XMLGEN.newcontext(v_source);-- 20251107 公众号 小满小慢-- 设置顶层节点,可以使用默认值(不设置默认 ROWSET 和 ROW)DBMS_XMLGEN.setrowsettag(ctx, 'EMPLOYEES'); DBMS_XMLGEN.setrowtag(ctx, 'EMPLOYEE'); c_result := DBMS_XMLGEN.getxml(ctx);DBMS_OUTPUT.PUT_LINE(SUBSTR(c_result, 1, 2000)); DBMS_XMLGEN.closecontext(ctx);CLOSE v_source;
END xml_print;

返回结果,注意顶层节点为EMPLOYEES,行节点为EMPLOYEE

<?xml version="1.0"?>
<EMPLOYEES><EMPLOYEE><F_A>小游戏1</F_A><F_B>地心侠士</F_B></EMPLOYEE><EMPLOYEE><F_A>小游戏2</F_A><F_B>地心侠士</F_B></EMPLOYEE>
</EMPLOYEES>

2.使用xmltype序列化

declarex       xmltype;ref_cur SYS_REFCURSOR;
beginOPEN ref_cur FORselect 'a1' F_A, 'b1' F_B from dualunion allselect 'a2', 'b2' from dual;x := xmltype(ref_cur);Dbms_Output.put_line(x.getClobVal());
end;

返回结果

<?xml version="1.0"?>
<ROWSET><ROW><F_A>a1</F_A><F_B>b1</F_B></ROW><ROW><F_A>a2</F_A><F_B>b2</F_B></ROW>
</ROWSET>

3. 序列化JSON

目前没有找到游标直接转换JSON的的实现方式,如果要实现动态列,目前可行的方案.如果有大牛实现了,可否告知分享下

-- 20251107 herbert
with t as( select 'a1' F_A,'b1' F_B from dualunion allselect 'a2','b2' from dual)SELECT JSON_ARRAYAGG(JSON_OBJECT('F_A' VALUE F_A,'F_B' VALUE F_B))AS employees_json
FROM t;

原文地址: https://mp.weixin.qq.com/s/VdPF8p-sNT9--thfP9GLVg

转载请注明来源
作者:杨瀚博
QQ:464884492

相关新闻

  • iqoo手机关掉视频彩铃
  • 2025低烟无卤/UL3302/UL3767/UL4413辐照线厂家推荐明秀电子,品质卓越!
  • 2025年成都知识产权服务商排名前十:杰诚智享领跑行业

最新新闻

  • 攀枝花市奢侈品手表包包回收回收门店权威测评:综合实力最强的五家店铺推荐 - 谊识预商务
  • 深入解析NXP ColdFire EMAC单元:DSP性能优化的架构奥秘
  • 安顺市2026奢侈品手表包包回收防骗指南:跑了5家店总结出的真实报价经验 - 谊识预商务
  • FlowComposer框架:零样本学习中的显式组合与流匹配技术
  • ARM9微控制器LPC32x0系列:低功耗、高集成度与VFP协处理器的嵌入式设计实践
  • 洛阳市奢侈品手表包包回收价格差距高达15%:实测对比告诉你哪家店报价最实在 - 谊识预商务

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号