SQL 游标 一个简单的例子
来源:互联网 发布:清除icloud所有数据 编辑:程序博客网 时间:2024/04/28 13:08
一、游标的作用:
Select时,返回的是一个结果集,若需要为结果集返回的过程中,读取到一行数据。需要对此行数据进行处理,比如按读取到的数据作为查询条件返回一个查询结果集等等,应用都需要用到游标。
游标可允许 用户 查询下一行、上一行、第一行或最后一行,并对这些读取到的行进行处理。
二、游标举例
CREATE FUNCTION GetMRPlnFullBom --创建一函数,根据单据电键查询单据中每行,并对每行数据进行处理。( @DocEntry int)RETURNS @TAB TABLE -- 将最终查询的结果集定义临时表,返回。(DocEntry int,LineNum int,LineNumLevel nvarchar(100),ItmID nvarchar(20), ItmName nvarchar(100),LineType char(1),Qty numeric(19,9),BomLevel int,ParentEntry int,ParentItmID nvarchar(20),TopEntry int,TopItmID nvarchar(20) , BaseEntry int , BaseLineNum int , BaseType int)ASBEGIN Declare @ItmID varchar(50) , @Qty int ,@LineNum int ,@ObjType int --声明局部变量 --声明一游标,声明游标时 XXX前不能加@,比如下面的MRPlnA_ItmID ,格式是DECLARE XXX CURSOR FOR DECLARE MRPlnA_ItmID CURSOR FOR SELECT ItmID , Qty ,LineNum , ObjType FROM MRPlnA Where DocEntry = @DocEntry --语句要在DECLARE XXX CURSOR FOR与OPEN XXX之间。 Open MRPlnA_ItmID --打开游标 FETCH NEXT FROM MRPlnA_ItmID INTO @ItmID , @Qty ,@LineNum , @ObjType --FETCH NEXT FROM XXX INTO ... 更新游标指定记录即换行,并将Select出来的数据,存入临时变量中。 FETCH格式上除了NEXT还有PRIOR、FRIST、LAST。分别是上一行、第一行及最后一行。 WHILE @@FETCH_STATUS = 0 --@@FETCH_STATUS全局变量,用于查询FETCH最后一次状态,控制循环。当读取完时是0,读取失败是-1,记录被删除是-2。 BEGIN Insert Into @TAB Select DocEntry,LineNum,LineNumLevel,ItmID,ItmName,LineType,Qty*@Qty,BomLevel,ParentEntry, ParentItmID,TopEntry,TopItmID , @DocEntry SourceEntry ,@LineNum BaseLineNum ,@ObjType BaseType From GetBomFullItems(@ItmID, 'V 1.0', GetDate()) TD --GetBomFULLItmes是另一查询函数。 FETCH NEXT FROM MRPlnA_ItmID INTO @ItmID , @Qty ,@LineNum , @ObjType -- Select移到下一行。 END CLOSE MRPlnA_ItmID --关闭游标 DEALLOCATE MRPlnA_ItmID --释放游标 RETURN END
- SQL 游标 一个简单的例子
- SQL 游标 一个简单的例子
- sql 游标简单的例子
- 游标的简单例子
- 游标的简单例子
- sql游标一个小例子
- PL/SQL 一个简单游标的使用
- 参数游标的简单例子
- 一个嵌套游标的例子
- pl sql游标简单例子学习
- sql关于游标和游标、存储过程结合的一个例子
- sql关于游标和游标、存储过程结合的一个例子
- 一个简单的PL/SQL的例子
- 一个简单的游标删除SQL SERVER表
- 一个关于SQL注入的简单例子
- SQL游标的简单实例
- SQL游标的简单使用
- 动态SQL和动态游标的例子
- 关于ORA-01034和ORA-27101的一种解决方法
- 西安市民出资办“免费巴士” 未经审批被叫停
- 暑期实训总结_李飞
- 【转】关闭对话框,OnClose和OnCancel MFC中屏蔽ESC和回车关闭对话框
- Spring基于HibernateTransactionManager的事物管理
- SQL 游标 一个简单的例子
- 企业信息化的积淀:如何构建知识管理?
- iPhone越狱后给力插件大合集
- BUY LOW, BUY LOWER----POJ_1952----最长递减子序列
- sqlserver的日期转换
- 文件锁(lockf)
- 京东为什么要加班?算是爆料吗?
- ASP.NET常用函数
- C++标准程序库 学习笔记 第八章 仿函数