起因:游标执行存储过程 下载begin 外面了.. ,造成一直触发存储过程

收获:定义变量统一在游标外部使用, 书写内容在begin 内部书写

alter   PROCEDURE  USP_dgd_wzh_INPUT_SAVE
@inputrowidhd VARCHAR(10),
@doccode varchar(30)
as
DECLARE @rowid varchar(40)
begin --游标更改数据
--申明一个游标
DECLARE @po_no varchar(50),@modelcode varchar(50),@size_state varchar(50),@rec_date datetime,@plan_date datetime, @exdate datetime,@lot_date datetime,@to_country varchar(50) --循环变量 DECLARE MyCursor CURSOR FOR SELECT
po_no,modelcode,size_state,rec_date,plan_date,exdate,lot_date,to_country
FROM po_order_input where inputrowid = @inputrowidhd and size_state !='码制'
--循环一个游标 --打开一个游标
OPEN MyCursor FETCH NEXT FROM MyCursor INTO @po_no,@modelcode,@size_state,@rec_date,@plan_date,@exdate,@lot_date ,@to_country
WHILE @@FETCH_STATUS =0 BEGIN
exec getxxxx @rowid output
INSERT INTO wzh_ddgl_item(Doccode,rowid,ordercode,modelcode,size_state,Orderdate,Originaldate,postdate,lot_date,Portmsg)
values (@doccode,@rowid, @po_no,@modelcode,@size_state,@rec_date,@plan_date,@exdate,@lot_date ,@to_country) FETCH NEXT FROM MyCursor INTO @po_no,@modelcode,@size_state,@rec_date,@plan_date,@exdate,@lot_date ,@to_country
END --关闭游标
CLOSE MyCursor
--释放资源
DEALLOCATE MyCursor end

太久不用忘记游标的写法了

  DECLARE cur CURSOR FOR SELECT DISTINCT mtl_no
FROM pc_mtl_staytest_item
WHERE doccode = @doccode
OPEN cur
FETCH NEXT FROM cur INTO @mtl_no
WHILE(@@FETCH_STATUS = )
BEGIN
SET @cnt = ISNULL(@cnt,) + -- 循环代码 IF @cnt >=
BEGIN
BREAK
END
FETCH NEXT FROM cur INTO @mtl_no
END
CLOSE cur
DEALLOCATE cur

如果确实死循环了,需要删掉死锁进程,查出死锁的进出
SELECT request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName
FROM sys.dm_tran_locks WITH(NOLOCK)
WHERE resource_type='OBJECT'

然后 KILL  + 进程号

sql 记录一次灾难 游标问题的更多相关文章

  1. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)

    原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL ...

  2. PL/SQL 编程(二)游标、存储过程、函数

    游标--数据的缓存区 游标:类似集合,可以让用户像操作数组一样操作查询出来的数据集,实质上,它提供了一种从集合性质的结果中提取单条记录的手段. 可以将游标形象的看成一个变动的光标,他实质上是一个指针, ...

  3. SQL记录-PLSQL记录

    PL/SQL记录   PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行. 例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题 ...

  4. Oracle SQL 硬解析和子游标

    Oracle SQL 硬解析和子游标 What reasons will be happening sql hard parse and generating new child cursors 在一 ...

  5. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十一)数据层优化-druid监控及慢sql记录

    本文提要 前文也提到过druid不仅仅是一个连接池技术,因此在将整合druid到项目中后,这一篇文章将去介绍druid的其他特性和功能,作为一个辅助工具帮助提升项目的性能,本文的重点就是两个字:监控. ...

  6. PL/SQL 记录 Record 简介

    记录类型是表中当行数据结构的一个镜像.每个记录只存储一行数据,记录包含的是字段,而不是列. 1.用%rowtype属性隐式定义记录类型 declare individual individuals%r ...

  7. SpringBoot配置 druid 数据源配置 慢SQL记录

    spring: datasource: url: jdbc:mysql://127.0.0.12:3306/test?autoReconnect=true&useUnicode=true&am ...

  8. MySQL 查看执行的SQL记录

    我们时常会有查看MySQL服务端执行的SQL记录.在MySQL5.1之后提供了支持,通过在启动时加入-l 或者--log选项即可: mysqld -l mysqld --log 在后面的版本(5.1. ...

  9. mysql如何配置sql记录

    原文链接:http://www.qqdeveloper.com/detail/11/1.html 为什么要记录sql记录 主要目的是为了检测我们的网站安全问题,有效的避免一些sql注入或者是xss攻击 ...

随机推荐

  1. SQL分类之DML:增删改表中的数据

    DML:增删改表中的数据 1.添加数据: 语法: insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n): 注意: 1.列名和值要一一对应. 2.如果表名 ...

  2. MySQL“慢SQL”定位

    MySQL"慢SQL"定位 数据库调优我个人觉得必须要明白两件事 1.定位问题(你得知道问题出在哪里,要不然从哪里调优呢) 2.解决问题(这个没有基本的方法来处理,因为不同的问题处 ...

  3. 在ASP.NET Core中获取客户端和服务器端的IP地址(转载)

    随着ASP.NET的发展,有不同的方式从请求中访问客户端IP地址.WebForms和MVC Web应用程序只是访问当前HTTP上下文的请求. var ip = HttpContext.Current. ...

  4. 获取Excel

    默认Excel文档为 代码如下   需要下载  "EPPlus.Core" var file = Directory.GetCurrentDirectory() + "\ ...

  5. Vue第一天

    什么是 Vue.js? Vue.js是前端的主流框架之一,与 Angular.js.React.js一起,并称为前端三大主流框架 Vue.js是一套构建用户界面的框架,只关注视图层,它不仅易上手,还便 ...

  6. SpringCloud高并发性能优化

    1. SpringCloud高并发性能优化 1.1. 前言 当系统的用户量上来,每秒QPS上千后,可能就会导致系统的各种卡顿,超时等情况,这时优化操作不可避免 1.2. 优化步骤 第一步:优化大SQL ...

  7. Java深入学习(1):多线程

    多线程目的:在同一时刻有多条不同路径执行程序,提高程序运行效率 多线程应用:数据库连接池,多线程文件下载等 注意:在文件下载中使用多线程,无法提高速度 在一个进程中,一定会有主线程 从基础开始,多线程 ...

  8. 面试题:什么叫B*树

    B*-tree是B+-tree的变体,在B+树的基础上(所有的叶子结点中包含了全部关键字的信息,及指向含有这些关键字记录的指针),B*树中非根和非叶子结点再增加指向兄弟的指针:

  9. C# 如何提前结束 Sleep ?

    好久没有更新博客了,都有点对不起这个账号了.这次跟大家分享的是一种编程思路,没什么技术含量,但也许能帮得到你. 我们经常会在程序程序中用到 Sleep 这个方法.Sleep 方法用起来非常简单,但是有 ...

  10. java.io.IOException: Premature EOF

    http访问第三方系统的接口时,小概率抛出下面的异常: java.io.IOException: Premature EOF at sun.net.www.http.ChunkedInputStrea ...