SQL与ORACLE中存储过程调用存储过程返回的结果集插入到临时表写法
存储过程A1 调用 存储过程B1返回结果
最精简写法:
--存储过程A1中创建一个表去接收B1的结果 create table #tb(....) insert into #tb exec B1 '...' --比如像下面这样的写法: INSERT INTO #ChargePrice_Result EXEC SP_CalcChargePrice @Way, @Amount, @Kind, @Year, @Hours --注:SP_CalcChargePrice存储过程执行后返回的结果集就插入到了#ChargePrice_Result临时表中
上述SQL实现思路参考:https://bbs.csdn.net/topics/390258633
ORACLE实现上述操作的方法
DECLARE v_temp TT_CHARGEPRICE_RESULT%ROWTYPE; cv_ins SYS_REFCURSOR; BEGIN SP_CalcChargePrice(v_Way, v_Amount, v_Kind, v_Year, v_Hours, cv_ins); LOOP FETCH cv_ins INTO v_temp; EXIT WHEN cv_ins%NOTFOUND; INSERT INTO tt_ChargePrice_Result VALUES v_temp; END LOOP; CLOSE cv_ins;
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751858.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?