需要for循環語句的使用講解
只要指定條件為 true 都執行語句塊.for (initialization; test; increment)statements 參數initialization 必選項.一個表達式.該表達式只在執行循環前被執行一次.test 必選項.一個 Boolean 表達式.如果 test 是 true,則 statement 被執行.如果 test 是 false,則循環結束.increment 必選項.一個表達式.在每次經過循環的最后執行該遞增表達式.statements 可選項.test 是 true 時,要執行的一個或多個語句.可以是復合語句.說明循環要執行確定的次數,通常使用 for 循環.示例下面的例子示范了一個 for 循環./* 在開始時 i 被設為 0,并在每次重復的最后被增加 1.在循環重復前,如果 i 不小于 10,則循環結束.*/var myarray = new Array();for (i = 0; i myarray = i;} 在c語言的解釋是:for:循環語句.作用:循環.它的一般形式為:for(;;)語句;初始化總是一個賦值語句,它用來給循環控制變量賦初值;條件表達式是一個關系表達式,它決定什么時候退出循環;增量定義循環控制變量每循環一次后按什么方式變化.這三個部分之間用";"分開.例如:for(i=1;i10時,結束循環.注意:(1).for循環中語句可以為語句體,但要用"{"和"}"將參加循環的語句括起來.(2).for循環中的"初始化"、"條件表達式"和"增量"都是選擇項,即可以缺省,但";"不能缺省.省略了初始化,表示不對循環控制變量賦初值.省略了條件表達式,則不做其它處理時便成為死循環.省略了增量,則不對循環控制變量進行操作,這時可在語句體中加入修改循環控制變量的語句.(3).for循環可以有多層嵌套.例如:for(;;) 語句;for(i=1;;i+=2) 語句;for(j=5;;) 語句;這些for循環語句都是正確的.FORfield of regard 的縮寫。
如何使用for循環更新sql 語句
CREAT PROCEDURE tester ASBEGIN 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為該存儲過程的參數,如果有多個參數,使用“,”分開就可以了,這也是存儲過程調用另一個存儲過程的一種方法。
sql語句實現循環有什么特點
select * from ausertable order by userid; commit; //執行 結束 1:最近剛開始用oracle 數據庫,很多東西都不怎么懂,要在賬號表添加 1000個賬號,找了一些資料,經過測試可以使用,開始 我吧語法 都跟SqlServer 里面的混了,花了一個上午的時間,下面就是測試的數據的代碼:特別注意的是:'01'||to_char(i)這里 一直meiyo DECLARE i number:=0; BEGIN for i in 1..100 loop insert into AUSERTABLE(USERID,USERPID,USERNAME) values('01'||to_char(i),'8','武漢'); dbms_*_line(i); end loop; END;。
求sql循環語句
lz是不是不理解數據庫查詢的意義
select本身就是循環的過程
直接
select A1+A2+A3 from A
就行了
--------------------------
你有什么其它操作,很難有用查詢寫不出的事,你提出來看看
===========================
這個需要循環么?
select * into AAA from openrowset
('SQLOLEDB','server=*;uid=sa;pwd=xxx;database=B1'
, 'select * from AAA ')
INSERT INTO BBB select * from AAA
或者直接
INSERT INTO BBB
select * from openrowset
('SQLOLEDB','server=*;uid=sa;pwd=xxx;database=B1'
, 'select * from AAA ')
不就行了
需要循環么?
SQL循環語句
你可以直接在查詢分析器了試一下這個語句,你具體的意思我也不太清楚,循環就要用游標了,其實也可以實現
create table a (id int,cno char(10))
insert a values(1,'999')
insert a values(2,'1000')
create table b (id int)
insert b values(1)
insert b values(3)
insert b values(5)
declare @max int
select @max=max(cast(cno as int)) + 1 from a
declare @sql nvarchar(2000)
set @sql = 'create table #temp (id int, cno int identity('+cast(@max as nvarchar) +',1)) '
set @sql = @sql + 'insert #temp select id from b where id not in(select id from a) '
set @sql = @sql + 'insert a select id,cast(cno as nvarchar) from #temp'
exec sp_executesql @sql
select * from a
drop table a,b
sql 循環 語句
樓主的語句似乎沒問題
第一個頁面正確,第二個頁面不正確是指什么意思?
或者使用
do while NOT *
loop
試試看
**********************
如果是在需要的話
可以通過子程序實現,不用這樣子嵌套
如建立*,在調用頁面include進去
fuction searchSeries(series)
sql = "SELECT top 8 * FROM AAAA where 類型='"&series&"'" * sql,conn,1,3
do While NOT *
* bb("標題")&"<br>"
*xt()
loop
*
set bb=nothing
end fuction
然后在內循環部分直接調用
searchSeries(a1)
如果要一直顯示,在子程序中迭代就行,但是對客戶的審查習慣和系統的資源沒好處
求一條sql循環語句
--定義變量:declare @A1 INT,@A2 INT,@A3 INT--定義游標DECLARE my_Cur CURSOR FORSELECT A1,A2,A3 FROM A--打開游標OPEN my_Cur --游標滾到下一行FETCH NEXT FROM my_Cur INTO @A1,@A2,@A3--循環直到游標逐行讀取完數據WHILE @@FETCH_STATUS = 0BEGIN /* --這里做你想做的事情 --請問 print @A1+@A2+@A3 --怎么實現,謝謝 */ --游標滾到下一行 FETCH NEXT FROM my_Cur INTO @A1,@A2,@A3END--關閉游標CLOSE my_Cur --釋放資源DEALLOCATE my_Cur。
轉載請注明出處華閱文章網 » sql語句的for循環語句