游标的使用范例

declare @orderN varchar(50)--临时变量,用来保存游标值
declare ee cursor for --申明游标 为orderNum
select FID from estate_base_RoomNumbers where PayNumber is null or PayNumber='' --打开游标
OPEN ee;
fetch next from ee into @orderN ----开始循环游标变量
while(@@fetch_status=0)---返回被 FETCH  语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
BEGIN
 declare @PayNumber  nvarchar(50) ; 
 DECLARE @row int
 SET @row = 1--记录总数为9999999
 WHILE @row<=999
BEGIN
 SET @PayNumber = 0 IF LEN(@PayNumber)<>10


 set @PayNumber =RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 10)
 
 if(select count(*) from  estate_base_RoomNumbers  where PayNumber=@PayNumber)=0 and LEN(@PayNumber)=10
 break;


 
SET @row = @row+1 


END 


update estate_base_RoomNumbers set PayNumber=@PayNumber where FID=@orderN --操作数据库


fetch  next from ee into @orderN


END


CLOSE ee;
DEALLOCATE ee;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值