游标使用

	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

 

 

尽量少用游标改用select语句,因为游标性能太慢

 

 

 

	INSERT INTO CustomerotherInfo(CustomerID,OtherPro,CustomerStatusID,UserID)
	SELECT CustomerID,OtherPro,CustomerStatusID,
	(select UserID from Users where Customer.UserID=Users.oldid and Users.Area='bj')as UserID 
    FROM Customer
    where Area='bj'



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值