SQL(一) cursor用法

2014-11-24 14:09:57 · 作者: · 浏览: 1
SQL(一) cursor用法
[html] 
DECLARE @OldId varchar(50)  
DECLARE @CustomerID varchar(50)  
DECLARE My_Cursor CURSOR --定义游标  
FOR (select CustomerID,oldid from Customer where Area='bj') --查出需要的集合放到游标中  
OPEN My_Cursor; --打开游标  
FETCH NEXT FROM My_Cursor INTO @CustomerID,@OldId; --读取第一行数据  
WHILE @@FETCH_STATUS = 0     
    BEGIN     
       DECLARE @OtherPro VARCHAR(500)  
       DECLARE @StatusID varchar(200)  
       DECLARE @Userid varchar(200)  
       DECLARE @FinalUserid varchar(200)  
         
      SELECT @OtherPro=OtherPro,@StatusID=CustomerStatusID,@Userid=UserID FROM bjsunmis.dbo.Customer WHERE CustomerID=@OldId;  
        
      SELECT @FinalUserid=UserID from Users where oldid=@Userid  
      
      INSERT INTO CustomerotherInfo(CustomerID,OtherPro,CustomerStatusID,UserID)VALUES(@CustomerID,@OtherPro,@StatusID,@FinalUserid)  
        
     FETCH NEXT FROM My_Cursor INTO @CustomerID,@OldId; --读取下一行数据      
    END  
CLOSE My_Cursor; --关闭游标  
DEALLOCATE My_Cursor; --释放游标  
GO