游标第一次应用


                                    遇到问题不慌 仔细看问题,查找到原因才可以改,理解前后逻辑,碰到一块 熟悉这快得逻辑和技术知识

                       DECLARE    @Table_MaxID INT,@WarehouseId INT
                      DECLARE @TempTable table (wid int,maxId int)

                      DECLARE My_Cursor CURSOR
                      FOR (SELECT WarehouseId FROM  dbo.Warehouse WITH (NOLOCK) WHERE ISNULL(IsDeleted,0)=0)
                      OPEN My_Cursor;
                      FETCH NEXT FROM My_Cursor INTO @WarehouseId;
                      WHILE @@FETCH_STATUS = 0
                      BEGIN
                          EXEC    @Table_MaxID = [dbo].[cp_BuildIdentity]  @tp_typeName = N‘Inventory‘
                          INSERT INTO @TempTable (wid,maxId) VALUES(@WarehouseId,@Table_MaxID)
                          FETCH NEXT FROM My_Cursor INTO @WarehouseId;
                      END
                      CLOSE My_Cursor;
                      DEALLOCATE My_Cursor; 

             UPDATE [dbo].[ItemMaintain]
           SET [SyncDateTime] = @SyncDateTime,
           IsSentWarehouse=1
           WHERE  ItemCode=@ItemCode
           IF NOT EXISTS (SELECT InventoryId FROM dbo.InventoryForEdit WHERE ItemCode=@ItemCode)
           BEGIN

               INSERT INTO dbo.InventoryForEdit

                       ( InventoryId ,
                         StoreId ,
                         ItemType ,
                         ItemId ,
                         ItemCode,
                             Warehouseid
                       )
                SELECT maxId,1,ItemType,ItemId,ItemCode,Warehouseid
                FROM dbo.ItemMaintain,dbo.Warehouse WITH (NOLOCK)
                LEFT JOIN @TempTable ON wid=Warehouse.Warehouseid
                WHERE ItemId=@ItemCode AND     Warehouse.IsDeleted=0
           END
时间: 2024-10-11 04:32:09

游标第一次应用的相关文章

SQL Server基础之<游标>

查询语句可能返回多条记录,如果数据量非常大,需要使用游标来逐条读取查询结果集中的记录.应用程序可以根据需要滚动或浏览其中的数据.本篇介绍游标的概念.分类.以及基本操作等内容. 一:认识游标   游标是SQL Server的一种数据访问机制,它允许用户访问单独的数据行.用户可以对每一行进行单独的处理,从而降低系统开销和潜在的阻隔情况,用户也可以使用这些数据生成的SQL代码并立即执行或输出. 1.游标的概念  游标是一种处理数据的方法,主要用于存储过程,触发器和 T_SQL脚本中,它们使结果集的内容

mongodb3.2系统性学习——5、游标 模糊查询 findAndModify函数

1首先介绍查询结果 返回的过程: 进行查询的时候mongodb 并不是一次哪个返回结果集合的所有文档,而是以多条文档的形式分批返回查询的结果,返回文档到内存中. 好处: 减少了客户端与服务器端的查询负担. 查询的结果集合很大的时候批量返回数据,提高了效率. 注意事项 如果执行查询的时候不使用 var keyword 则查询的结果会自动迭代 20次. cursor 游标第一次返回101条文档或者4兆 数据(谁先满足). 不活跃的游标会在10分钟内自动关闭,或者客户端主动关闭游标,如果让游标一致有效

sql server 游标的知识

一:认识游标   游标是SQL Server的一种数据访问机制,它允许用户访问单独的数据行.用户可以对每一行进行单独的处理,从而降低系统开销和潜在的阻隔情况,用户也可以使用这些数据生成的SQL代码并立即执行或输出. 1.游标的概念  游标是一种处理数据的方法,主要用于存储过程,触发器和 T_SQL脚本中,它们使结果集的内容可用于其它T_SQL语句.在查看或处理结果集中向前或向后浏览数据的功能.类似与C语言中的指针,它可以指向结果集中的任意位置,当要对结果集进行逐条单独处理时,必须声明一个指向该结

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

PL SQL 基础

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL-Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

这么多年第一次自己去用游标和临时表

汗颜,做了这么多年开发自己第一次用游标和临时表 还是借助度娘才写出来的,请大家给指点下... 1 CREATE PROCEDURE [dbo].[sp_LaodDefaultFM] 2 ( 3 @ExhID int , 4 @DefaultExhID INT, 5 @Result INT 6 ) 7 AS 8 BEGIN 9 --判断当前会话中临时表是否存在 10 if exists(select * from dbo.sysobjects where object_id('tempdb.dbo

sqlserver游标概念与实例全面解说

引言 我们先不讲游标的什么概念,步骤及语法,先来看一个例子:   ?????? 表一 OriginSalary??????????????????????????????????????????????????? 表二 AddSalary 现在有2张表,一张是OriginSalary表--工资表,有三个字段0_ID 员工号(NVARCHAR).O_Name员工姓名(NVARCHAR).O_Salary工资(FLOAT). 另一张表AddSalary表-加薪表.有2个字段,O_ID员工号.A_Sa

oracle中的游标(转)

Oracle中的游标有两种:显式游标.隐式游标.显示游标是用cursor...is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理,而隐式游标是在执行插入 (insert).删除(delete).修改(update)和返回单条记录的查询(select)语句时由PL /SQL 自动定义的. 显式游标 当声明了显式游标后,可以通过以下三条命令控制显式游标的操作:打开游标.推进游标.关闭游标. 声明显式游标 Ø  无参游标 cursor c_auths is select * f

用SQL游标解决经典的1+2+...+100的问题!

以前从来没接触过SQL游标,今天第一次学习,就想到了编程语言里经典的1+2+...+100的问题. 环境是SqlServer2008. 建表语句: CREATE TABLE [dbo].[tCursor]( [ID] [int] NOT NULL, [Sum] [int] NULL) ON [PRIMARY] 然后填充ID为1~100,Sum为0. declare @i int set @i=1 while(@i <=100) begin insert into tCursor (ID,[Sum