您的位置:首页 > 科技 > IT业 > 杭州的地区代码_聚合广告联盟_百度一下首页_百度推广价格价目表

杭州的地区代码_聚合广告联盟_百度一下首页_百度推广价格价目表

2024/11/15 23:51:09 来源:https://blog.csdn.net/weixin_55797790/article/details/143392029  浏览:    关键词:杭州的地区代码_聚合广告联盟_百度一下首页_百度推广价格价目表
杭州的地区代码_聚合广告联盟_百度一下首页_百度推广价格价目表

最近在测试项目功能时,需要生成一些随机的问题总数、改善数、改善率的数据,因此需要用到SqlServer的循环,在这里记录一下。下面以随机生成十条数据为例,表结构如下:

CREATE TABLE re_class(guid NVARCHAR(50) primary key,totalCnt VARCHAR(10),improveCnt VARCHAR(10),improveRate VARCHAR(10)
)

下面以插入十条数据为例:

  1. while
    用于简单的循环操作

基本结构:

DECLARE @i INT = 1; -- 循环变量
DECLARE @n INT = 10; WHILE @i < @n  --循环条件BEGIN --操作END

例子:

DECLARE @i INT = 1;
DECLARE @n INT = 10;
DECLARE @totalCnt VARCHAR(10);
DECLARE @improveCnt VARCHAR(10);
DECLARE @improveRate VARCHAR(10);
WHILE @i < @nBEGIN SET @totalCnt = ABS(CHECKSUM(NEWID())) % (100 - 1) + 1;SET @improveCnt =  ABS(CHECKSUM(NEWID())) % @totalCnt;SET @improveRate = @improveCnt * 100 / @totalCnt;INSERT INTO re_class VALUES (NEWID(), @totalCnt, @improveCnt, @improveRate);SET @i = @i + 1;END
  1. cursor
    cursor可以遍历表中的每一行

基本结构:

DECLARE myCursor CURSOR FOR 
SELECT value 
FROM [table];--指向哪张表DECLARE @value NVARCHAR(30);
OPEN myCursor;--打开游标
FETCH NEXT FROM myCursor INTO @value;
WHILE @@FETCH_STATUS = 0 --循环条件
BEGIN PRINT @valueFETCH NEXT FROM myCursor INTO @value;--将下一个游标的数据放入@value变量中
END
--关闭并释放游标
ClOSE myCursor;
DEALLOCATE myCursor;

打印表中数据的例子:

DECLARE myCursor CURSOR FOR SELECT * FROM re_class;DECLARE @guid NVARCHAR(50), @totalCnt VARCHAR(10),@improveCnt VARCHAR(10), @improveRate VARCHAR(10);OPEN myCursor;FETCH NEXT FROM myCursor INTO @guid, @totalCnt, @improveCnt, @improveRate;WHILE @@FETCH_STATUS = 0 BEGIN PRINT 'guid=' + @guid + '@totalCnt=' + @totalCnt +',@improveCnt=' + @improveCnt + ',improveRate=' + @improveRate + '%';FETCH NEXT FROM myCursor INTO @guid, @totalCnt, @improveCnt, @improveRate;ENDCLOSE myCursor;DEALLOCATE myCursor;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com