1. sql 循环语句
可以使用游标。MS SQL语句如下:
--定义一个接收数值及一个累加数值的临时变量
DECLARE@levelINT,
@levelcountINT
SET@levelcount=0
--定义游标,表名及列名根据实际进行修改
DECLAREcus_countCURSORFOR
SELECTlevelFROMdbo.grouptemp
--打开游标
OPENcus_count
--定位到下一行。打开后未定位游标定位到首行
FETCHNEXTFROMcus_countINTO@level
--循环游标,条件为小于某个数值并且游标循环未结束。@@FETCH_STATUS=0表示游标未循环结束。
WHILE(@levelcount<100)AND(@@FETCH_STATUS=0)
BEGIN
SET@levelcount=@levelcount+@level
FETCHNEXTFROMcus_countINTO@level
END
--关闭游标
CLOSEcus_count
--释放游标
DEALLOCATEcus_count
--数值打印出来以便调试,正式方法中可不打印
PRINT@levelcount
2. 如何用Sql语句循环执行语句
SQL语句无法实现循环,只能通过程序或者存储过程来实现。
如果只是一次性工作,则建议直接用EXCEL的公式手批量生成SQL语句 然后一次性贴到MYSQL的命令行工具中执行即可。
S1 : 创建一个模板表 create table t (id int, col1 int , col2 varchar(10));
S2 : EXCEL中在A1输入 ="create table t"&ROW()&" like t;"
S3: 下拉填充这个A1至A1000
create table t1 like t;
create table t2 like t;
create table t3 like t;
create table t4 like t;
create table t5 like t;
create table t6 like t;
create table t7 like t;
create table t8 like t;
create table t9 like t;
create table t10 like t;
S4: 复制到MYSQL命令行工具一次行执行。
3. mssql 存储过程中循环如何写,在循环中用什么语句跳出循环呢,在线等
循环使用WHILE
比如
DECLARE @I INT
SET @I=0
WHILE @I<10
BEGIN
PRINT @I
SET @I=@I+1
END
跳出循环有主要有2种
BREAK和RETURN
比如
DECLARE @I INT
SET @I=0
WHILE @I<10
BEGIN
PRINT @I
BREAK
END
这样就跳出循环了,也可以换成RETURN,RETURN会结束整个批查询的执行,BREAK仅仅跳出循环,继续执行后边的语句。