IT培训机构 IT培训新闻 IT培训内幕 IT课程
返回首页
当前位置: 首页 > IT课程

如何在存储过程中执行别的存储过程并获取其返回的结果集

时间:2017-01-04 00:01:03来源:作者: 点击:
背景
在sqlserver存储过程的编写过程中,通常会碰到繁杂的业务逻辑,将一个大的存储过程拆分成多个小存储过程来做是常用的做法。
问题
在存储过程A中需要调用存储过程B,而存储过

背景 在sqlserver存储过程的编写过程中,通常会碰到繁杂的业务逻辑,将一个大的存储过程拆分成多个小存储过程来做是常用的做法。 问题 在存储过程A中需要调用存储过程B,而存储过程B返回一个Table,A需要获取到B的Table,再进行下一步的处理。 本文解决的问题是:如何在A中执行B,并获取B的返回Table 思路 在A中使用Exec来执行存储过程B 在A中定义临时表,并将B返回的数据插入临时表中 步骤 新建一张测试表,并批量向表中插入若干数据 CREATE TABLE TestTable ( ID INT ) INSERT INTO TestTable SELECT 1 UNION SELECT 2 UNION SELECT 3 SELECT * FROM TestTable  新建存储过程B,B会返回一张Table
  CREATE PROCEDURE [dbo].[UP_B] AS BEGIN SELECT ID,'ComeFromB' FROM TestTable END  新建存储过程A,A调用B,并将B返回的Table插入到A定义的临时表中 CREATE PROCEDURE [dbo].[UP_A] AS BEGIN CREATE TABLE #Temp (ID INT,Msg VARCHAR(30)) INSERT INTO #Temp EXEC UP_B SELECT * FROM #Temp END
顶一下
0%
返回首页
0
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
表情:
用户名: 密码: 验证码: 匿名发表
百度推广