sql语句怎么写for循环(sql语句可以写for循环吗)

http://www.itjxue.com  2023-01-30 06:02  来源:未知  点击次数: 

我想用PLSQL写一个FOR循环

FOR I IN 1..10 LOOP

IF I6 AND I8 THEN

INSERT INTO MESSAGE(results) VALUES(I);

END IF;

END LOOP;

COMMIT;

在sql server中循环语句 for要怎么使用

sql server里有循环语句,在sqlserver 数据库中,while循环语句是最常用的语句之一,for指定次数用的很少。比如:

SQL循环语句

declare @i int

set @i=1

while @i30

begin

insert into test (userid) values(@i)

set @i=@i+1

end

while 条件

begin

执行操作

set @i=@i+1

end

WHILE

设置重复执行 SQL 语句或语句块的条件,只要指定的条件为真,就重复执行语句,可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

语法

WHILE Boolean_expression

{ sql_statement | statement_block }

[ BREAK ]

{ sql_statement | statement_block }

[ CONTINUE ]

参数

Boolean_expression

返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。

{sql_statement | statement_block}

Transact-SQL 语句或用语句块定义的语句分组,若要定义语句块,请使用控制流关键字 BEGIN 和 END。

BREAK

如何使用for循环更新sql 语句

CREAT PROCEDURE tester

AS

BEGIN

SET NOCOUNT ON;

DECLARE @userId varchar(50)

DECLARE @count int

SET @count = 0

SELECT @count = count(*) FROM UserService_User WHERE Account like '%111%'

WHILE @count 0

BEGIN

SELECT @userId = Id FROM UserService_User WHERE Account like '%111%'

exec UserService_RemoveUserByUserId @userId

SET @count = @count -1

END

END

说明:

1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE ……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。

2、循环体中 UserService_RemoveUserByUserId 是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。

T--SQL语句的for循环怎么写的?

FOR loop index IN [REVERSE] lowest number ..highest number

LOOP

executable statement(s)

END LOOP;

(责任编辑:IT教学网)

更多

推荐思科认证文章