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僅僅跳出循環,繼續執行後邊的語句。