-
sybase(ase)存储过程,请问为什么它只执行一个cursor?见代码:5
sybase,请问为什么它只执行一个cursor?在第二个游标处,只会打印一条记录,正常的应该是遍历所有的记录的。
见代码:
create proc test(@sTime datetime,@eTime datetime) as begin declare @areaID varchar(50), @dnsAnalyseDelay numeric(10,2), @dbConnTimeLen numeric(10,2), @product numeric(10,2), @kpi1 numeric(10,2), @kpi2 numeric(10,2), @webDownRate numeric(10,2), @kpi3 numeric(10,2), @kqi3 numeric(10,2), @areaIDAttach varchar(40), @attachSucRate numeric(10,2), @dbTimeLen numeric(10,2) select @kpi1=0 --解析tableA declare cur_tableA cursor for select vcAreaID areaID, round(avg(dbDnsDelay)*1.00,2) dnsAnalyseDelay, round(avg(dbTimeLen)*1.00,2) dbConnTimeLen, round(avg(ftWebDownRate)*1.00,2) webDownRate from tableA where 1=1 and dtEndTime>=@sTime and dtEndTime<@eTime and intSystemID=1 group by vcAreaID open cur_tableA while(@@sqlstatus=0) begin fetch cur_tableA into @areaID,@dnsAnalyseDelay,@dbConnTimeLen,@webDownRate select @product = @dnsAnalyseDelay*@dbConnTimeLen print "dnsAnalyseDelay= %1! dbConnTimeLen=%2! product= %3! areaID= %4! webDownRate=%5!",@dnsAnalyseDelay,@dbConnTimeLen,@product,@areaID,@webDownRate --分类统计,取到kpi2 if @product>=3000 select @kpi2 = 0 else if 10<@product and @product<3000 select @kpi2 = round((3000-@product)*1.00/(3000-10)*100,2) else if @product<=10 select @kpi2=100 print "kpi2= %1!",@kpi2 --分类统计,取到kpi3 if @webDownRate>=2000 select @kpi3 = 100 else if 128<@webDownRate and @webDownRate<3000 select @kpi3 = round((2000-@webDownRate)*1.00/(2000-128)*100,2) else if @webDownRate<=128 select @kpi3=0 print "kpi3= %1!",@kpi3 --分类统计,取到kqi3 select @kqi3 = round(0.2*@kpi1+0.5*@kpi2+0.3*@kpi3,2) print "kqi3= %1!",@kqi3 end close cur_tableA DEALLOCATE CURSOR cur_tableA --解析tableB 这里不会执行,或者只会打印一条记录,正常的应该是遍历所有的记录的。 declare cur_tableB cursor for select vcAreaID areaIDAttach, round(sum(intSuc)*1.00/count(1),4) attachSucRate, round(avg(dbTimeLen)*1.00,2) dbTimeLen from tableB where 1=1 and dtEndTime>=@sTime and dtEndTime<@eTime and intSystemID=3 group by vcAreaID open cur_tableB while(@@sqlstatus=0) begin fetch cur_tableB into @areaIDAttach,@attachSucRate,@dbTimeLen print "areaIDAttach=%1!,attachSucRate=%2!,dbTimeLen=%3!",@areaIDAttach,@attachSucRate,@dbTimeLen end close cur_tableB end
2012年9月21日 17:01
目前还没有答案
相关推荐
Job Scheduler 是 Sybase ASE 中的一种机制,用于定时执行存储过程或其他任务。它可以帮助数据库管理员简化工作流程,提高工作效率。 其次,在安装和配置 Job Scheduler 之前,需要了解 Sybase ASE 的版本问题。...
Sybase ASE ODBC驱动程序是基于Windows平台的,它为各种编程语言(如C++、VB、Python等)提供了一个统一的接口,使得开发人员可以轻松地访问和操作Sybase ASE数据库。该驱动程序支持SQL语句执行、事务处理、结果集...
在ASE12.5的时代,Sybase Central提供了一个用户友好的界面,使得DBA(数据库管理员)和开发者可以更轻松地执行日常管理任务,如创建和修改数据库对象,监控服务器性能,备份和恢复操作,以及处理用户权限和安全设置...
很全面的sybase资料集合,包括了创建修改删除的所有东西,也包括一些的语法和运算,对初学者很方便
Sybase ASE 12.5.4 ODBC驱动包, 4.0.x 版本 将zip解到d:\\sybasease目录下边,然后注册下边的内容: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] ...
《Sybase ASE v12.5 系统管理指南》是一部深入探讨Sybase Adaptive Server Enterprise (ASE) v12.5版本系统管理的权威参考文献。该指南旨在帮助IT专业人员理解和掌握ASE数据库系统的运维与优化,从而确保系统的高效...
Sybase Adaptive Server Enterprise(ASE),通常简称为Sybase ASE,是Sybase公司(现为SAP的一部分)开发的一款高性能的企业级关系型数据库管理系统。这本中文版的Sybase ASE参考手册包含了全面的技术信息,旨在...
Sybase ASE 12.5.2 安装参考手册 本手册旨在以图文方式,step by step 地描述在 Linux 上安装 Sybase ASE 数据库。以下是从该手册中提取的重要知识点: 知识点 1: Linux 安装 在安装 Sybase ASE 之前,需要先安装...
Sybase ASE 是一个关系数据库管理系统,提供了许多配置参数以满足不同应用场景的需求。下面是 Sybase ASE 配置参数手册中的知识点总结: 1. abstract plan cache:abstract plan cache 是一个配置参数,用于控制...
Sybase ASE for Linux 12.5 安装指南 本文档旨在指导用户如何在 RedHat AS 5 上安装 Sybase ASE for Linux 12.5。 installation process covers the creation of a Sybase directory, setting up the user and ...
在本教程中,我们将深入探讨如何在CentOS操作系统上安装Sybase Adaptive Server Enterprise(ASE)15,这是一个高性能的企业级数据库管理系统。以下是安装过程的详细步骤,以及可能遇到的问题和解决方案,以及所需的...
在上述几种Linux平台上的数据库产品中,Sybase ASE的性能很好,紧凑的程序分发包里包含了全部文档、数据库备份和监视等工具,同时它对系统的要求不高(系统配置为32MB内存,包含文档的全部安装需要200MB硬盘,否则...
### Python 通过 Sybase ASE ODBC Driver 访问 Sybase 数据库 在当前的大数据时代背景下,数据库的应用无处不在,而 Python 作为一种强大的编程语言,因其简洁、易读及功能强大等特点,被广泛应用于数据处理与分析...
Sybase Adaptive Server Enterprise (ASE) 15 是一款高性能的企业级数据库管理系统,它提供了强大的数据处理能力和高度可靠的安全机制。本指南主要针对 Sybase ASE 15.0.3 版本在 Linux 平台上的安装与配置进行详细...
升级是数据库管理中的一个重要部分,指南详细介绍了如何从旧版本升级到15.7版本,包括准备升级、执行预升级任务、系统表和存储过程的变更、以及升级后恢复功能等步骤。文档还提到了在不同操作系统架构(例如从32位...
**ASE 15.0.3** 是一个重要的版本更新,主要包含了性能优化、安全性增强和新特性的引入。在Linux环境下安装Sybase ASE 15.0.3,你需要了解以下关键步骤: 1. **系统需求**:确认Linux服务器满足硬件和软件的最低...
Sybase Adaptive Server Enterprise (ASE) 是一款高性能的关系型数据库管理系统。版本12.5虽然较老,但在某些特定环境下仍被广泛使用。在本篇文章中,我们将详细介绍如何在备份服务器上单独启动Sybase ASE 12.5。 #...
12. **APL表和DOL表**:APL表存储过程的源代码,DOL表记录了服务器的活动和状态信息。APL表是动态的,而DOL表是静态的。 13. **锁**:Sybase ASE中的锁用于控制并发访问,有表锁、页锁、行锁等多种类型,防止数据...
该版本可以在多处理器机器上安装和运行,但 ASE 只会利用其中一个处理器,并且仅限于使用 2GB 内存和 5GB 磁盘空间。XE 仅在 Linux x86、Linux x86-64 和 Linux OpenPower 平台上可用。 #### 2. Developer Edition ...