sql语句怎么写循环语句

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 语句简单的循环怎么写啊 **************
修改了一下:
**************
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 [email protected]_tmp and [email protected]_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');
---
以上,希望对你有所帮助 。
3. oracle sql怎么写循环语句 declare
sql_tem Varchar2(4000);
a number;
b number;
i number;
begin
a := 1;
for i in 1 .. 3 loop
b := a + 4;
sql_tem := 'insert into A2 (ID,NAME) (select ID,NAME from A1 WHERE ROWNUM between :1 and :2)';
EXECUTE IMMEDIATE sql_tem
USING a, b;
commit;
a := a + 5;
end loop;
end;
试试上面的代码看一下能不能满意你的要求先呗 。
4. 帮忙写个SQL循环语句 DECLARE @IDS VARCHAR(100)
SET @IDS = '100,200,30,8,3459,1'
DECLARE @ID INT
DECLARE @INDEX INT
WHILE LEN(@IDS) > 0
BEGIN
SET @INDEX = CHARINDEX(',',@IDS,1)
IF @INDEX > 1
BEGIN
SET @ID = CAST(LEFT(@IDS,@INDEX - 1) AS INT)
SET @IDS = SUBSTRING(@IDS,@INDEX+1, LEN(@IDS) - @INDEX)
END
ELSE
BEGIN
SET @ID = CAST(@IDS AS INT)
SET @IDS = NULL
END
INSERT INTO TABLES(ID) VALUES(@ID)
SET @INDEX = CHARINDEX(',',@IDS,1)
END
5. sql写语句如何循环执行10000次 调用循环执行,例如:declare @n intset @n=0beginwhile @n 追答: 只要是能够执行的操作,一定能够执行的,记得每条语句都要加英文分号";" 进行隔离 追答: 对了,还要关闭提示信息:declare @n intset nocount onset @n=0beginwhile @n 追问: 试了不行 追答: 循环肯定没问题,请逐条检查你的操作语句,找出出错的操作语句,然后修正出错的语句 追答: 先单独运行每个insert语句,排除语法上的错误,然后再排除插入的记录是否会在循环里出现违反约束的情形,可以在循环里逐个增加insert来测试排除 追问: 好的,我试试 追问: 操作语句中是不是必须包含循环变量@n? 追答: 操作语句里不必须有循环变量,但是@n必须在循环里不断增长,否则会死循环,跳不出来 。