SQLServer 储存过程嵌套调用,处理多数据集数据

本文介绍了如何在SQLServer中使用存储过程进行多数据集处理,通过主存储过程和子存储过程的嵌套调用,实现复杂业务逻辑的模块化。主存储过程创建临时表并根据参数调用子存储过程,子存储过程内部可声明多个变量,实现了存储过程的清晰结构和高效封装。
摘要由CSDN通过智能技术生成

储存过程作为一种高效的数据处理方式,在软件开发过程中被广泛使用。当遇到繁琐的业务处理时,经常会写上成百上千行的代码,以达到目的,若此时又需要多数据集处理时,单一的存储过程显得臃肿笨拙。如何调理清楚、分工明确的进行过程编写显得尤为重要。

其实SQLServer为我们提供了一种非常简便的方式用来处理多数据集处理的问题。

下面一段存储过程为主存储过程,在这个存储过程中声明了一个变量@code,一个临时表#t,存储过程会根据参数@code查询出符合条件的数据插入到临时表#t。但是在查询语句后做了特殊处理。

CREATE PROCEDURE [dbo].[a_test]
	@code varchar(50)
AS
BEGIN
	SET NOCOUNT ON;
	create table #t
	(
		code varchar(50),
		name varchar(50)
	)
	declare @len varchar(2);
	set @len=4;
	insert into #t
	select bcode,bname from fip_sys_Base where bcode =@code
	insert into #t exec a_test_sub @code,@len
	select * from #t
	drop table #t
END

insert into #t exec a_test_sub @code,@len

在这里向临时表中插入了数据,数据的来源从子存储过程a_test_sub获得

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值