`
yxx676229549
  • 浏览: 72092 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

更新表中某一字段

阅读更多

游标实现。 
类似例子: 

--*************************************************************** 
--   <summary> 由于需求变更,联系人控件加了一列(客户联系人/专案联系人), 
--                     需要对客户以前的客户进行历史数据更新,以下是更新脚本 
-- </summary> 
--   <para=name> King.Zheng </name>         
--   <para=date> 2005/7/8 </date> 
--*************************************************************** 

--开始事务 
BEGIN   TRAN 

--不显示计数信息 
SET   NOCOUNT   ON 
DECLARE   @ProjNo   varchar(50),@CusNo   varchar(50) 

--声明游标 
DECLARE   CRMPSContact_cursor   CURSOR   FOR   
SELECT   ProjNo 
FROM   CRMPSContact 
WHERE   ProjNo> 0 

--打开游标 
OPEN   CRMPSContact_cursor 

--取第一行的值给专案变量:   @ProjNo 
FETCH   NEXT   FROM   CRMPSContact_cursor   
INTO   @ProjNo 

--执行错误回滚 
if   @@error!=0 
    begin 
        rollback   tran 
        return 
    end 

--移动游标,其它所有行更新操作(当到结尾时退出) 
WHILE   @@FETCH_STATUS   =   0 
BEGIN             
      --游标移到下一行 
      FETCH   NEXT   FROM   CRMPSContact_cursor   
      INTO   @ProjNo 

      
      update   CRMPSContact   
      set   CusNo   =   @CusNo 
      where   ProjNo   =   @ProjNo 
      
      --执行错误回滚 
      if   @@error!=0 
      begin 
          rollback   tran 
          return 
      end 
END 

--提交所有变更 
COMMIT   TRAN 

--关闭游标 
CLOSE   CRMPSContact_cursor 

--释放游标 
DEALLOCATE   CRMPSContact_cursor 

--恢复设置 
SET   NOCOUNT   OFF 
GO 
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics