91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MSSQL 循環(游標循環及類似For的循環)

發布時間:2020-10-19 09:29:38 來源:網絡 閱讀:13098 作者:AlunE 欄目:MySQL數據庫

利用游標循環:

DECLARE My_Cursor CURSOR --定義游標
FOR (SELECT * FROM dbo.Table) --查出需要的集合放到游標中
OPEN My_Cursor; --打開游標
FETCH NEXT FROM My_Cursor ; --讀取第一行數據
WHILE @@FETCH_STATUS = 0
    BEGIN
        --UPDATE dbo.Table SET 字段1 =‘***’  WHERE CURRENT OF My_Cursor; --更新
        --DELETE FROM dbo.Table WHERE CURRENT OF My_Cursor; --刪除
        FETCH NEXT FROM My_Cursor; --讀取下一行數據
    END
CLOSE My_Cursor; --關閉游標
DEALLOCATE My_Cursor; --釋放游標

利用游標賦值循環:


declare @參數1 參數1類型,@參數2 參數2類型
DECLARE MyCursor CURSOR --定義游標(利用游標循環)
FOR (select 字段1,字段2 from Table) --查出需要的集合放到游標中
                order by 字段1              --排序語句放在括號外
OPEN MyCursor; --打開游標
FETCH NEXT FROM MyCursor INTO @參數1 ,@參數2;  --讀取第一行數據
WHILE @@FETCH_STATUS = 0
Begin
        if 條件成立 
        begin            --如需跳過當前循環,需先賦值,再continue,否則會進入死循環
                FETCH NEXT FROM MyCursor INTO @參數1 ,@參數2;
                continue;  --跳過當前循環,進入下一循環
        end

        if 條件成立 
        begin
                    Break;             --跳出整個循環
        end
        /* 需要在循環內處理的*** */
                    --PRINT @參數1,參數2; --打印參數值(調試)
                    --UPDATE Table set 字段3=*,字段4=* where 字段1=@參數1 and 字段2=@參數2
                    --Insert into Table1(字段1,字段2) values(參數1,參數2)
                    --Delete from table where 字段1=參數1 and 字段2=參數2
        FETCH NEXT FROM MyCursor INTO @參數1 ,@參數2;           --賦值后進入下一循環
End
CLOSE MyCursor;     --關閉游標
DEALLOCATE MyCursor;    --釋放游標

類似For循環的SQL循環:

declare @itemnumber int --定義需要循環的次數  
 declare @tagint int --定義標志字段,用于結束循環  
 set @tagint=1 
 select @itemnumber = count(distinct Creater) from Demo_TestTable where isnull(Creater,'')<>'' And   
   DATEDIFF(DAY,CreatDate,GETDATE())<1 
   if(@itemnumber>0)  
   begin  
     while @tagint<=@itemnumber  
         begin  
              waitfor delay '00:00:01' --每隔一秒再執行 可用參數變量替換  
             Update Demo_TestTable set CreatDate=GETDATE() where Creater =(  
             Select Creater from (  
                 select Creater,ROW_NUMBER() over(order by Creater) as RowID from Demo_TestTable where   
isnull(Creater,'')<>'' And DATEDIFF(DAY,CreatDate,GETDATE())<1 group by Creater  
             ) TableA  
              where  TableA.RowID=@tagint  
              )  
              set @tagint=@tagint+1  
        end  
   end  
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

买车| 富民县| 乳源| 文化| 甘南县| 南汇区| 枣阳市| 平顶山市| 仁布县| 延安市| 论坛| 金山区| 鹤峰县| 常山县| 铁岭县| 滨海县| 广河县| 通榆县| 巴里| 开封市| 广东省| 肇东市| 延安市| 锡林郭勒盟| 涟源市| 泰州市| 万全县| 阿尔山市| 黄浦区| 鄂托克前旗| 蓬安县| 桦南县| 长武县| 六枝特区| 廊坊市| 通化县| 凤冈县| 大邑县| 广西| 和田县| 临安市|