起因:游标执行存储过程 下载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. 「UNR#1」奇怪的线段树

    「UNR#1」奇怪的线段树 一道好题,感觉解法非常自然. 首先我们只需要考虑一次染色最下面被包含的那些区间,因为把无解判掉以后只要染了一个节点,它的祖先也一定被染了.然后发现一次染色最下面的那些区间一 ...

  2. SQL分类之DCL:管理用户、授权

    DCL:管理用户.授权 SQL分类: DDL:操作数据库和表 DML:增删改表中的数据 DQL:查询表中的数据 DCL:管理用户.授权 DBA:数据库管理员 DCL:管理用户.授权 1.管理用户 1. ...

  3. Java基础扫盲系列(-)—— String中的format

    Java基础扫盲系列(-)-- String中的format 以前大学学习C语言时,有函数printf,能够按照格式打印输出的内容.但是工作后使用Java,也没有遇到过格式打印的需求,今天遇到项目代码 ...

  4. axios捕获401 赋值token

    //捕获401 // http request 拦截器 axios.interceptors.request.use( config => { const token = localStorag ...

  5. Echarts 学习系列(2)-常见的静态ECharts图

    目录 写在前面 折线(面积)图 1.折线图 2.堆叠折线图 3.堆积面积图 柱状(条形)图 1.柱状图 2.条形图 3.堆积条形图 饼(圆环)图 1.饼图 2.环形图 3.南丁格尔图 写在前面 上一小 ...

  6. jsGrid使用入门

    jsGrid使用入门 原创蓝天上的一朵云 本文链接:https://blog.csdn.net/u012846041/article/details/82735811 jsGrid资源地址: http ...

  7. C#开发中常用的加密解密方法

    转载自:https://www.cnblogs.com/bj981/p/11203711.html C#开发中常用的加密解密方法 相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天 ...

  8. Cat搭建遇坑记

    1. Cat搭建遇坑记 1.1. 报错 服务端启动 Unable to get component: class com.dianping.cat.analysis.TcpSocketReceiver ...

  9. js根据json数组多个字段排序

    /**数组根据数组对象中的某个属性值进行排序的方法 * 使用例子:newArray.sort(sortByArr(['number'],false)) //表示根据number属性降序排列;若第二个参 ...

  10. Vue学习之过滤器和自定义指令小结(三)

    过滤器: 过滤是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰.过滤器就是过滤用的工具.渲染数据用的!!! 我们需要知道的是: 1.Vue中的过滤器不能 ...