首页 > 数据库技术 > 详细

SQLserver 存储过程游标使用

时间:2019-11-29 10:58:06      阅读:79      评论:0      收藏:0      [点我收藏+]
ALTER PROCEDURE [dbo].[p_DeleteStretchData]
  @BridgeName AS varchar(200) ,
  @BeamNo AS varchar(200) 
AS
BEGIN
    declare @BeamId varchar(50)
    declare @StretchId varchar(50)
    declare @stretch_cursor cursor  -- 声明游标变量
    select @BeamId=BeamId from Beam_Info where BridgeName = ltrim(rtrim(@BridgeName)) and BeamNumber = ltrim(rtrim(@BeamNo))
    set @stretch_cursor=cursor for select ID from XYX_Stretch where BeamId = @BeamId  -- 设置游标
    open @stretch_cursor
    fetch next from @stretch_cursor into @StretchId -- 设值
                -- 循环读取 
        while @@fetch_status=0
            begin
                -- 删除过程数据
                delete from Process where StretchId = @StretchId
                -- 删除基础数据
                delete from Stretch where ID = @StretchId
                -- 下一条
                fetch next from @stretch_cursor into @StretchId
            end
    close @stretch_cursor
    deallocate @stretch_cursor
    -- 删除状态数据
    delete from Status where BeamId = @BeamId
    -- 删除基础数据
    delete from Beam where BeamId = @BeamId
END

 

SQLserver 存储过程游标使用

原文:https://www.cnblogs.com/Jimc/p/11956307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!