oracle動(dòng)態(tài)游標(biāo)for循環(huán) sqlserver中怎樣使用游標(biāo)for循環(huán)?
sqlserver中怎樣使用游標(biāo)for循環(huán)?給你舉個(gè)例子利用游標(biāo)循環(huán)更新、刪除MemberAccount表中的數(shù)據(jù)DECLAREMy_CursorCURSOR--定義游標(biāo)FOR(SELECT*FROM
sqlserver中怎樣使用游標(biāo)for循環(huán)?
給你舉個(gè)例子利用游標(biāo)循環(huán)更新、刪除MemberAccount表中的數(shù)據(jù)DECLAREMy_CursorCURSOR--定義游標(biāo)FOR(SELECT*FROMdbo.MemberAccount)--查出需要的集合放到游標(biāo)中OPENMy_Cursor--打開(kāi)游標(biāo)FETCHNEXTFROMMy_Cursor--讀取第一行數(shù)據(jù)WHILE@@FETCH_STATUS=0BEGIN--UPDATEdbo.MemberAccountSETUserName=UserName "A"WHERECURRENTOFMy_Cursor--更新--DELETEFROMdbo.MemberAccountWHERECURRENTOFMy_Cursor--刪除FETCHNEXTFROMMy_Cursor--讀取下一行數(shù)據(jù)ENDCLOSEMy_Cursor--關(guān)閉游標(biāo)DEALLOCATEMy_Cursor--釋放游標(biāo)GO
sqlserver中怎樣使用游標(biāo)for循環(huán)?
給你舉個(gè)例子利用游標(biāo)循環(huán)更新、刪除MemberAccount表中的數(shù)據(jù)DECLARE My_Cursor CURSOR --定義游標(biāo)FOR (SELECT * FROM dbo.MemberAccount) --查出需要的集合放到游標(biāo)中OPEN My_Cursor --打開(kāi)游標(biāo)FETCH NEXT FROM My_Cursor --讀取第一行數(shù)據(jù)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 --讀取下一行數(shù)據(jù) ENDCLOSE My_Cursor --關(guān)閉游標(biāo)DEALLOCATE My_Cursor --釋放游標(biāo)GO
OraclePLSQL在游標(biāo)中用while循環(huán)為什么沒(méi)有結(jié)果輸出?
@@fetch_status=0 是游標(biāo)提取數(shù)據(jù)失敗,即數(shù)據(jù)提取結(jié)束到最后了。游標(biāo)主要作用是,操作SQL查詢(xún)結(jié)果集。以下為典型游標(biāo)的應(yīng)用:create proc cursorTest@_id int=0,@_name varchar(50)=""as--創(chuàng)建游標(biāo)declare @cursor cursor--設(shè)定游標(biāo)欲操作的數(shù)據(jù)集set @cursor=cursor forselect _id,_name from usersopen @cursor--打開(kāi)游標(biāo)fetch next from @cursor into @_id,@_name--移動(dòng)游標(biāo)指向到第一條數(shù)據(jù),提取第一條數(shù)據(jù)存放在變量中while(@@fetch_status=0)begin--如果上一次操作成功則繼續(xù)循環(huán)print @_name--操作提出的數(shù)據(jù)fetch next from @cursor into @_id,@_name--繼續(xù)提下一行endclose @cursor--關(guān)閉游標(biāo)deallocate @cursor--刪除游標(biāo)