免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4063 | 回复: 3
打印 上一主题 下一主题

熟悉游标使用的看过来哦 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-31 11:11 |只看该作者 |倒序浏览
写这个游标的初衷是为了读取各个服务器中的每个数据库的表,但出现了问题,希望熟悉游标使用的高手们不吝赐教,谢谢

declare @fwqid char(30),@cnt int   --定义服务器标识
declare mdqk_cur cursor for   --定义游标(来自于门店的情况表)
select fwqid from mdqkb
open mdqk_cur                 --打开游标
fetch mdqk_cur into @fwqid      --获取第一行记录

while @@fetch_status=0        --状态标识
begin

if left(@fwqid,1)=\'a\' or len(@fwqid)>4     --判断是否为a服务器      
begin
select rq,sum(xshje) as xsje into tba from A服务器.@fwqid.dbo.splsk
where zhy=\'零售日清\' and rq between convert(char(10),dateadd(dd,-3,getdate()),21) and convert(char(10),getdate(),21)
group by rq
order by rq desc
select @cnt=count(*) from tba
if @cnt=0
insert into sjqk
select * from mdqkb where fwqid=@fwqid
set @cnt=0
drop table tba
end

if left(@fwqid,1)=\'B\'    --判断是否为b服务器
begin
select rq,sum(xshje) as xsje into tbb from B服务器.@fwqid.dbo.splsk
where zhy=\'零售日清\' and rq between convert(char(10),dateadd(dd,-3,getdate()),21) and convert(char(10),getdate(),21)
group by rq
order by rq desc
select @cnt=count(*) from tbb
if @cnt=0
insert into sjqk
select * from mdqkb where fwqid=@fwqid
set @cnt=0
drop table tbb
end

if left(@fwqid,1)=\'C\'    --判断是否为c服务器
begin
select rq,sum(xshje) as xsje into tbc from C服务器.@fwqid.dbo.splsk
where zhy=\'零售日清\' and rq between convert(char(10),dateadd(dd,-3,getdate()),21) and convert(char(10),getdate(),21)
group by rq
order by rq desc
select @cnt=count(*) from tbc
if @cnt=0
insert into sjqk
select * from mdqkb where fwqid=@fwqid
set @cnt=0
drop table tbc
end

fetch next from mdqk_cur  into @fwqid --获取下一条记录
end
close mdqk_cur           --关闭游标
deallocate mdqk_cur      --释放游标

论坛徽章:
0
2 [报告]
发表于 2008-11-03 17:18 |只看该作者
怎么没人回复哦????先说说这个游标的语法使用有没有问题啊

论坛徽章:
0
3 [报告]
发表于 2008-11-18 08:15 |只看该作者

这几行是否有问题?

trop table tba

trop table tbb

trop table tbc

频繁地drop表?

论坛徽章:
0
4 [报告]
发表于 2008-11-18 21:31 |只看该作者
用代码格式排版一下哈,看起来会舒服些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP