1. SQL中循环语句怎样写
Transact-SQL附加语言Transact-SQL附加语言元素不是SQL的标准内容,而是Transact-SQL语言为了编程方便而增加的语言元素。
这些语言元素包括变量、运算符、函数、流程控制语句和注释等内容。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 &#39;%111%&#39;
WHILE @count > 0
BEGIN
SELECT @userId = Id FROM UserService_User WHERE Account like &#39;%111%&#39;
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 = &#39;1&#39;;
set @day_tmp = &#39;1&#39;;
while(@month_tmp <&#39;13&#39;)
begin
while(@day_tmp <&#39;30&#39;)
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(&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;10&#39;,&#39;11&#39;,&#39;12&#39;
and
day in(&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;10&#39;,&#39;11&#39;,&#39;12&#39;,&#39;13&#39;,&#39;14&#39;,&#39;15&#39;,&#39;16&#39;,&#39;17&#39;,&#39;18&#39;,&#39;19&#39;,&#39;20&#39;,&#39;21&#39;,&#39;22&#39;,&#39;23&#39;,&#39;24&#39;,&#39;25&#39;,&#39;26&#39;,&#39;27&#39;,&#39;28&#39;,&#39;29&#39;,&#39;30&#39;);
---
以上,希望对你有所帮助。
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) :=&#39;卡卡&#39;; 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;。