SQL cursor用法实例
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