• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

存储过程返回指定的记录集

jackyzhao213 2008-04-09 03:53:43
Create PROCEDURE [dbo].[esp_ListProjectStatistics]
@PeopleID as varchar(50)
AS
BEGIN
Declare @iParticipate int
Declare @iFavorite int

--我参与的工程项目
exec esp_ListParticipateProject @PeopleID
Set @iParticipate = @@Rowcount

--我关心的工程项目
exec esp_ListFavoriteProject @PeopleID
Set @iFavorite = @@Rowcount


Select @iParticipate as ParticipateNum,@iFavorite as FavoriteNum

END
==========================================
问题是我只想返回最后一个select语句的结果集,但执行存储过程后是返回三个结果集包括exec的两句执行的结果集,
怎样才能指定该存储过程只返回统计数据供程序调用
...全文
68 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jxwangjm 2008-04-10
好象除了把取出的结果放起来之外没什么方法了

其实本身你这么做就是不对的,你想想,你为了能得到某个存储过程的影响行数,就有执行一次,如果这个存储过程很大,很麻烦怎么办,我想这里不应该嵌套使用存储过程,因该用语句来实现

----------------------------------------
我觉得这位仁兄说得挺在理

这个问题我以前也遇到过,不过我是想从存储过程中得到多个结果集
象你说的这个问题,也许可以用表函数来实现
回复
asdftest1 2008-04-09
看看这里吧!
回复
JL99000 2008-04-09
好象除了把取出的结果放起来之外没什么方法了

其实本身你这么做就是不对的,你想想,你为了能得到某个存储过程的影响行数,就有执行一次,如果这个存储过程很大,很麻烦怎么办,我想这里不应该嵌套使用存储过程,因该用语句来实现

回复
jackyzhao213 2008-04-09
谢谢:子陌红尘
但存储过程中create table又不用,而且存储过程返回的字段很多,要定义那么多字段的表还是挺复杂,
还是觉得有点问题

天煞孤星的方法是可以,但外部程序不能当做结果集处理,还要拆分字符串,有点麻烦

继续寻找思路,谢谢各位帮助
回复
zjjxxhn19840204 2008-04-09
@戻り値 VARCHAR(20) OUTPUT --戻り値



select @戻り値 = @iParticipate + '_' + @iFavorite

回复
子陌红尘 2008-04-09
Create PROCEDURE [dbo].[esp_ListProjectStatistics] 
@PeopleID as varchar(50)
AS
BEGIN
Declare @iParticipate int
Declare @iFavorite int

--我参与的工程项目
create table #1(......)
insert into #1 exec esp_ListParticipateProject @PeopleID
Set @iParticipate = @@Rowcount

--我关心的工程项目
create table #2(......)
insert into #2 exec esp_ListFavoriteProject @PeopleID
Set @iFavorite = @@Rowcount

Select @iParticipate as ParticipateNum,@iFavorite as FavoriteNum

END
回复
jackyzhao213 2008-04-09
楼上的兄弟能不能说得详细点
回复
正宗老冉 2008-04-09
用WITH语句、临时表、
或子查询。
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-09 03:53
社区公告
暂无公告