当前位置: 代码迷 >> Sql Server >> 在存储过程种用EXEC执行一个存储过程,该如何解决
  详细解决方案

在存储过程种用EXEC执行一个存储过程,该如何解决

热度:24   发布时间:2016-04-27 12:36:11.0
在存储过程种用EXEC执行一个存储过程
这个存储过程有两个参数。一个是入参,一个是出参

入参可以用 select 参数1 from tb1 中 select出来的很多记录么??针对每条记录 EXEC一次。

EXEC sp1 select 参数1 from tb1, 参数2 out

这样??

------解决方案--------------------
这样建议使用FUNCTION来实现。
------解决方案--------------------
看楼主的意思,貌似入参是个表记录,那就用表变量好了:
SQL code
表类型: 创建一个表类型,以后在定义表变量的时候,就可以直接使用该表类型。创建表类型:create type dbo.OrderTotalsByYear as table(    orderyear int not null primary key,    qty int not null)定义一个表变量直接使用表类型:declare @MyOrderTotalsByYear as dbo.OrderTotalsByYearinsert into @MyOrderTotalsByYear (orderyear,qty)select YEAR(a.orderdate) as orderyear,SUM(b.qty) as qty from sales.Orders a inner join sales.OrderDetails b on a.orderid=b.orderid group by YEAR(a.orderdate)select * from @MyOrderTotalsByYearexec 存储过程 @MyOrderTotalsByYear
------解决方案--------------------
还可以用这种方法 在代码里 将数据查询出来 然后遍历那个结果 再拼接成一个sql 语句
拼接成 exec 存储过程 a,b;exec 存储过程 a,b;exec 存储过程 a,b;.....
  相关解决方案