当前位置:懂科普 >

综合知识

> sql语句的for循环语句怎么写

sql语句的for循环语句怎么写

1. SQL中循环语句怎样写

Transact-SQL附加语言Transact-SQL附加语言元素不是SQL的标准内容,而是Transact-SQL语言为了编程方便而增加的语言元素。

sql语句的for循环语句怎么写

这些语言元素包括变量、运算符、函数、流程控制语句和注释等内容。1. 变量变量对1种语言来讲是必不可少的组成部份。

Transact-SQL语言允许使用两种变量:1种是用户自己定义的局部变量(Local Variable),另外一种是系统提供的全局变量(Global Variable)。(1) 局部变量局部变量使用户自己定义的变量,它的作用范围近在程序内部。

通常只能在1个批处理中或存储进程中使用,用来存储从表中查询到的数据,或当作程序履行进程中暂存变量使用。局部变量使用DECLARE语句定义,并且指定变量的数据类型,然后可使用SET或SELECT语句为变量初始化;局部变量必须以“@”开头,而且必须先声明后使用。

其声明格式以下:DECLARE @变量名 变量类型[,@变量名 变量类型…]其中变量类型可以是SQL Server 2000支持的所有数据类型,也能够是用户自定义的数据类型。局部变量不能使用“变量=变量值”的格式进行初始化,必须使用SELECT或SET语句来设置其初始值。

初始化格式以下:SELECT @局部变量=变量值SET @局部变量=变量值。

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

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

比如:SQL循环语句 declare @i int set @i=1 while @i<30 begin insert into test (userid) values(@i) set @i=@i+1 endwhile 条件 begin 执行操作 set @i=@i+1 endWHILE 设置重复执行 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。

3. 如何使用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为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。

4. SQL 语句简单的循环怎么写啊

**************

修改了一下:

**************

declare @month_tmp varchar(2);

declare @day_tmp varchar(2);

set @month_tmp = '1';

set @day_tmp = '1';

while(@month_tmp < '13')

begin

while(@day_tmp < '30')

begin

select * from table1 where month=@month_tmp and day=@day_tmp

set @day_tmp = @day_tmp + 1

end

set @month_tmp = @month_tmp + 1

set @day_tmp = 1

end

*********************************************************

select * from table1 where

month in('1','2','3','4','5','6','7','8','9','10','11','12'

and

day in('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30');

---

以上,希望对你有所帮助。

5. 请问这个oracle的for循环语句怎么写

create table temp_tab( id number primary key not null, name varchar2(50) not null, age number not null);declare ids number(30) :=0; names varchar2(50) :='卡卡'; age number(30) :=5;begin for i in 1..15 loop ids :=ids+1; age :=age+1; insert into temp_tab values(ids,names,age); end loop;end;。

标签: SQL 语句
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/zonghezhishi/dwpoew.html