sql 游标的关闭和释放

如果不关闭游标,就会

消息 16915,级别 16,状态 1,过程  (过程名),第 xx 行
名为 'c1' 的游标已存在。
消息 16905,级别 16,状态 1,过程  (过程名),第 xx 行
游标已打开。

 

如何关闭游标,其实和定义游标和打开游标是对应的,sql如下:

复制代码
declare c1 cursor for -- 定义游标
select record_id from cis_cp_occ_main where enc_id=@enc_id
open c1  -- 打开游标
fetch next from c1 into @ids
while @@FETCH_STATUS=0
begin
    update table set table.a='1' where ......
    fetch next from c1 into @ids
end
close c1 --关闭游标
deallocate c1 -- 释放游标
复制代码

 

posted @   平心先生  阅读(6610)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示