需要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 的縮寫。
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;。
如何使用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為該存儲過程的參數,如果有多個參數,使用“,”分開就可以了,這也是存儲過程調用另一個存儲過程的一種方法。
如何使用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循環語句
你可以直接在查詢分析器了試一下這個語句,你具體的意思我也不太清楚,循環就要用游標了,其實也可以實現
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語句for循環