| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1665 人关注过本帖, 1 人收藏
标题:请教高手一个关于调用存储过程返回结果的问题!
只看楼主 加入收藏
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
结帖率:86.67%
收藏(1)
已结贴  问题点数:100 回复次数:13 
请教高手一个关于调用存储过程返回结果的问题!
我有一个带参数的存储过程,我这个存储过程的返回值(只返回一个表)不是很理想,
所以我想在数据库中对这个存储过程的返回值在“加工”,就像是select一个数据库表一样
请教高手,有没有在视图中调用存储过程的返回值的,创建一个自定义函数来调用存储过程返回值的
尽量不考虑使用临时表,我不想占用服务器资源,

谢谢了
搜索更多相关主题的帖子: 服务器 数据库 资源 
2011-05-10 01:05
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
收藏
得分:0 
期待高手回复
2011-05-10 09:57
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:25 
视图和表使用起来基本一样,
你把你现在的语句贴出来,大家可以帮你看看
2011-05-10 10:10
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
收藏
得分:0 
CREATE PROCEDURE shourutongji_1
@louceng varchar(20),@qiriqi as varchar(10),@zhiriqi as varchar(10)
 AS
declare @sql varchar(8000)
set @sql = 'select distinct fk_zwid as 展位编号,(select zw_name from zwzlb where zw_id=fk_zwid) as 展位名称,sum(fk_cuxiaofei) as 促销费,sum(fk_shuakafei) as 刷卡费'
select @sql = @sql + ' ,isnull((select sum(kk_bencikoukuan) from kkb where kk_zwid=fk_zwid and convert(char(10),kk_date,120)=convert(char(10),fk_date,120) and kk_xiangmu=''' + kk_xiangmu + '''),0) [ ' + kk_xiangmu + '] '
from (select distinct kk_xiangmu from kkb) as a
set @sql = @sql + ' from fkb where convert(char(10),fk_date,120)>=''' + @qiriqi + ''' and convert(char(10),fk_date,120)<=''' + @zhiriqi + '''  '
if @louceng is null
set @sql = @sql + ' group by fk_zwid,convert(char(10),fk_date,120) order by fk_zwid'
else
set @sql = @sql + '  and fk_zwid in (select zw_id from zwzlb where zw_lc=''' + @louceng + ''') group by fk_zwid,convert(char(10),fk_date,120) order by fk_zwid'
exec(@sql)
GO
2011-05-10 10:58
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
收藏
得分:0 
这是我的存储过程,能正确返回一个表,只是存在两个小问题,
fk_zwid是唯一键
第一、如果FKB中在@qiriqi和@zhiriqi之间fk_zwid出现过两次,而在动态行转列的表KKB中没有数据的话,fkb中的sum(fk_cuxiaofei)和sum(fk_shuakafei)不能合并,会出现两行
第二、横向加一个合计列不知道怎么加,当然这个可以在我的程序界面完成,如果能在SQL中实现当然更好
2011-05-10 11:03
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
收藏
得分:0 
其实这就是一个把一对多的两个表合并的存储过程
2011-05-10 11:04
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
收藏
得分:0 
合并过程中“多”表有动态行转列
2011-05-10 11:05
binghe6610
Rank: 2
等 级:论坛游民
帖 子:273
专家分:61
注 册:2009-2-23
收藏
得分:0 
不知道是否能够理解
2011-05-10 11:05
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:0 
你把表贴出来,还有两个半表想怎么合并
2011-05-10 11:25
lstk555
Rank: 2
等 级:论坛游民
帖 子:9
专家分:45
注 册:2011-5-11
收藏
得分:25 
通天塔
2011-05-11 22:25
快速回复:请教高手一个关于调用存储过程返回结果的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027010 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved