求sql server 循环语句的强细写法,要求有例子
2015-10-17 · 知道合伙人教育行家
关注
展开全部
declare @num int
declare @datediff int
select @datediff=datediff(day,'2007-12-12','2008-9-10)
set @num=0
while @num<@datediff
begin
insert into cms_count values('192.168.1.174','1','狗狗','http://gougou.com/','1280*780','IE','Vasta','www.163.com',dateadd(day,@num,'2007-12-12') )
set @num=@num+1
end
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。
循环语句是由循环体及循环的终止条件两部分组成的。其中最简单的循环语句自然来源于vb语句(即visual basic)
declare @datediff int
select @datediff=datediff(day,'2007-12-12','2008-9-10)
set @num=0
while @num<@datediff
begin
insert into cms_count values('192.168.1.174','1','狗狗','http://gougou.com/','1280*780','IE','Vasta','www.163.com',dateadd(day,@num,'2007-12-12') )
set @num=@num+1
end
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。
循环语句是由循环体及循环的终止条件两部分组成的。其中最简单的循环语句自然来源于vb语句(即visual basic)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
来个递归加循环的例子,短小精悍
WITH MU AS (
SELECT 1 AS NUM
UNION ALL
SELECT NUM+1
FROM MU
WHERE NUM+1<=10
)
SELECT *
FROM MU T1
WITH MU AS (
SELECT 1 AS NUM
UNION ALL
SELECT NUM+1
FROM MU
WHERE NUM+1<=10
)
SELECT *
FROM MU T1
追问
还有更详细的吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1> DECLARE
2> @testvalue AS INT;
3> BEGIN
4> SET @testvalue = 0;
5>
6> WHILE @testvalue < 5
7> BEGIN
8> SET @testvalue = @testvalue + 1;
9> PRINT ( @testvalue );
10> END
11>
12> END;
13> go
1
2
3
4
5
2> @testvalue AS INT;
3> BEGIN
4> SET @testvalue = 0;
5>
6> WHILE @testvalue < 5
7> BEGIN
8> SET @testvalue = @testvalue + 1;
9> PRINT ( @testvalue );
10> END
11>
12> END;
13> go
1
2
3
4
5
追问
还有吗
追答
因为 SQL Server 没有 FOR (Oracle 有)
没有 LOOP (Oracle 和 MySQL 有)
没有 REPEAT (MySQL 有)
所以,只有上面的一个例子了。
下面是 循环控制Break 与 Continue 的例子。
1> DECLARE
2> @testvalue AS INT;
3> BEGIN
4> SET @testvalue = 0;
5> WHILE @testvalue BEGIN
7> SET @testvalue = @testvalue + 1;
8> IF @testvalue = 2
9> BEGIN
10> CONTINUE;
11> END;
12> IF @testvalue = 4
13> BEGIN
14> BREAK;
15> END;
16> PRINT ( @testvalue );
17> END
18> END;
19> go
1
3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @num int
declare @datediff int
select @datediff=datediff(day,'2007-12-12','2008-9-10)
set @num=0
while @num<@datediff
begin
insert into cms_count values('192.168.1.174','1','狗狗','http://gougou.com/','1280*780','IE','Vasta','www.163.com',dateadd(day,@num,'2007-12-12') )
set @num=@num+1
end
declare @datediff int
select @datediff=datediff(day,'2007-12-12','2008-9-10)
set @num=0
while @num<@datediff
begin
insert into cms_count values('192.168.1.174','1','狗狗','http://gougou.com/','1280*780','IE','Vasta','www.163.com',dateadd(day,@num,'2007-12-12') )
set @num=@num+1
end
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询