sqlfor循環
1. 在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
end
while 條件
begin
執行操作
set @i=@i+1
end
WHILE
設置重復執行 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
2. sql寫語句如何循環執行10000次
調用循環執行,例如:
declare@nint
set@n=0
begin
while@n<10000
set@n=@n+1
--這里運行您要執行的1萬次操作
--例如您提問中的那些動作查詢
end
3. mysql sql中流程式控制制有for循環嗎
MySQL不支持FOR loops循環。
只有LOOP循環:
[begin_label:] LOOP
statement_list
END LOOP [end_label]
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
ITERATE label1;
END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END;
LOOP實現了一個簡單的循環結構,允許重復執行語句列表,該列表由一個或多個語句組成,每個語句以分號(;)分隔符結束。 循環中的語句將重復執行,直到循環終止。 一般情況,通過LEAVE終止循環。 在函數中,也可以使用RETURN,它完全退出函數,也同時終止循環。
(3)sqlfor循環擴展閱讀
mysql流程式控制制結構:
順序結構:程序從上往下依次執行,
分支結構:程序從兩條或多條路徑中選中一條去執行,
循環結構:程序在滿足一定條件的基礎上,重復執行一段代碼。
分支結構
1、if函數
功能:實現簡單的雙分支
語法:
if(表達式1,表達式2,表達式3)
執行順序:
如果表達式1成立,則if函數返回表達式2的值,否則返回表達式3的值
應用:任何地方(在begin end中或外面都可以)
2、case結構
情況1:類似於java中的switch語句,一般用於實現等值判斷
語法:
CASE 變數|表達式|欄位
WHEN 要判斷的值 THEN 返回的值1或語句1;
WHEN 要判斷的值 THEN 返回的值2或語句2;
...
ELSE 要返回的值n或語句n;
END CASE;
情況2:類似於java中的多重IF語句,一般用於實現區間判斷
語法;
CASE
WHEN 要判斷的條件1 THEN 返回的值1或語句1;
WHEN 要判斷的條件2 THEN 返回的值2或語句2;
...
ELSE 要返回的值n或語句n;
END CASE;
4. sql for循環比如說@Num<=5, @Num可能為1,3,4,這樣的數字
while @Num<=5
begin
需要處理的語句...
set @Num = @Num + 1
end
5. SQL sever FOR循環語句 實例
main()
{ int n=100;
float k;
float s=0;
for(k=1;k<=2;k++)
s=s+k*k;
printf("sum=%d\n,s);
}
6. T--SQL語句的for循環怎麼寫的
for loop i in 1..100
loop
表達式
end loop
循環100次。
7. 如何將動態sql應用到for loop循環中
在你想跳出for循環的地方,用break來跳出。break只能跳出其所在的循環;
1)
for (......) //循環1
{
for (......) //循環2
{
if (condition)
break; // beak跳出循環2,下一條將要運行的語句是 printf("loop 1\n");
}
printf("loop 1\n");
}
8. SQL Server for循環
你是每天插一條這樣的數據嗎
declare @num int
declare @datediff int
select @datediff=datediff(day,'2007-12-12','2008-9-10)
set @num=0
while @num<@datediff
begin
insert into cms_count values('192.168.1.174','1','狗狗','http://gougou.com/','1280*780','IE','Vasta','www.163.com',dateadd(day,@num,'2007-12-12') )
set @num=@num+1
end
9. 如何使用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為該存儲過程的參數,如果有多個參數,使用「,」分開就可以了,這也是存儲過程調用另一個存儲過程的一種方法。
10. sqlserver中怎樣使用游標for循環
給你舉個例子
利用游標循環更新、刪除MemberAccount表中的數據DECLARE My_Cursor CURSOR --定義游標FOR (SELECT * FROM dbo.MemberAccount) --查出需要的集合放到游標中OPEN My_Cursor; --打開游標FETCH NEXT FROM My_Cursor ; --讀取第一行數據WHILE @@FETCH_STATUS = 0 BEGIN --UPDATE dbo.MemberAccount SET UserName = UserName + 'A' WHERE CURRENT OF My_Cursor; --更新 --DELETE FROM dbo.MemberAccount WHERE CURRENT OF My_Cursor; --刪除 FETCH NEXT FROM My_Cursor; --讀取下一行數據 ENDCLOSE My_Cursor; --關閉游標DEALLOCATE My_Cursor; --釋放游標GO