sqlwhile循環
Ⅰ plsql中while循環怎麼用
@@fetch_status=0 是游標提取數據失敗,即數據提取結束到最後了。
游標主要作用是,操作SQL查詢結果集。
以下為典型游標的應用:
create proc cursorTest
@_id int=0,
@_name varchar(50)=''
as--創建游標
declare @cursor cursor--設定游標欲操作的數據集
set @cursor=cursor for
select _id,_name from users
open @cursor--打開游標
fetch next from @cursor into @_id,@_name--移動游標指向到第一條數據,提取第一條數據存放在變數中
while(@@fetch_status=0)begin--如果上一次操作成功則繼續循環
print @_name--操作提出的數據
fetch next from @cursor into @_id,@_name--繼續提下一行
end
close @cursor--關閉游標
deallocate @cursor--刪除游標
Ⅱ SQL中WHILE用法
while i<1000 loop
print '123';
i :=i+1;
end loop;
循環1000每一次輸出一個123
Ⅲ SQL如何用while循環列印金字塔
do ....while....,干什麼事情直到什麼條件結束,do就是你接下去的事情,比如print 「啊」
while i<10,i為計數變數,要添加到循環體do當中,那麼就是do print「a」 i=i+1;這樣子就一直列印a,直到10次結束,又因為你要金字塔,所以又要加一個循環在do print a 外面,那就是for(do print a)for循環下面嵌套這個do循環,增加變數j=j+1,直到j<10次
Ⅳ sql while循環語句問題
。。。。找 當前時間最近的 不用這么麻煩吧 ?
select * from water order by datediff(getdate(),tm)
Ⅳ SQL while語句
a.j是一列,也就是一個數組,不能對列經行這種操作,先賦值給變數,用游標取下一個循環判斷。
Ⅵ sql語句中用while循環5次的代碼怎麼解釋
declare @n int 1聲明n
set @n=0 2給n賦初始值0
while(@n<5) 3開始循環,判斷n是否小於5
begin
print'@n='+convert(varchar(10),@n) 4 將n 的值列印出來
set @n=@n+1 5 n的值等於它本來的值加一。回到第3步
end
Ⅶ 在sql中如何退出while死循環
在sql中如何退出while死循環 和其它的語言沒有太大的區別,
牢記循環三要素:循環變數的初始化,循環變數的變更,循環任務
避免死循環是要不要忘記 循環變數的變更
參考代碼:
DECLARE
num1 number;
maxstuid number;
age number;
begin
num1 := 1;
WHILE num1 <= 100 LOOP
--獲取最大的stuid
select max(stuid) + 1 into maxstuid from whilestu1;
--dbms_output.put_line(maxstuid);
if maxstuid is null then
maxstuid := 1;
--dbms_output.put_line('r');
end if;
age := ROUND(DBMS_RANDOM.VALUE(18, 40), 0);
--插入數據
insert into whilestu1
(stuid, stuName, age)
values
(maxstuid, '學員' || cast(maxstuid as varchar2(50)), age);
commit;
num1 := num1 + 1;
END LOOP;
end;
Ⅷ sql server中do while循環怎麼寫
設置重復執行 SQL 語句或語句塊的條件。只要指定的條件為真,就重復執行語句。 可以使用 BREAK 和 CONTINUE 關鍵字在循環內部控制 WHILE 循環中語句的執行。
1.WHILE 循環
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
END
GO
ResultSet:
1
2
3
4
5
2.WHILE 循環裡面加 BREAK 關鍵字
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
IF @intFlag = 4
BREAK;
END
GO
ResultSet:
1
2
3
3.WHILE 循環裡面加CONTINUE 加 BREAK 關鍵字
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
CONTINUE;
IF @intFlag = 4 -- This will never executed
BREAK;
END
GO
ResultSet:
1
2
3
4
5
參考鏈接:http://msdn.microsoft.com/zh-cn/library/ms178642.aspx
Ⅸ 如何在sql 中使用WHILE
在最後一個END前面再加一個fetch next from CCC into @a,@b 就可以了
如果這個語句不在WHILE裡面的話﹐他只會循環1條﹐所以就只有一條了﹐加上就可以了
最後還記得加一句CLOSE CCC關閉游標