MS SQL 資料庫游標的用法例項!

2021-04-29 17:03:54 字數 1263 閱讀 8544

例項為根據商品分類更新商品**。

declare @sortcode varchar(20), @i int, @templetesortcode varchar(20) ,@goodscode varchar(20),@flowno char(3)

select@templetesortcode = '', @i = 0,@flowno = ''

declare c_base_goods cursor for select goodscode,rtrim(goodssortcode) as goodssortcode from bak_goods where len(goodssortcode)=3 order bygoodssortcode,found_date

open c_base_goods

fetch next from c_base_goods

into @goodscode, @sortcode

while @@fetch_status = 0

begin

if @sortcode = @templetesortcode

begin

select @i = @i+1

select @flowno = convert(char(3), @i)

if @i < 10

begin

select @flowno = '00'+@flowno

endelse if @i >= 10 and@i < 100

begin

select @flowno = '0'+@flowno

endelse if @i >= 100

begin

select @flowno = @flowno

endupdate bak_goods set goodscode = @sortcode + @flownowhere goodscode = @goodscode

end

else

begin

set @templetesortcode = @sortcode

update bak_goods setgoodscode = @sortcode + '001'where goodscode = @goodscode

set @i = 1

endfetch next from c_base_goods into @goodscode, @sortcode

endclose c_base_goods

deallocate c_base_goods

資料庫游標的應用

關聯式資料庫中的操作會對整個行集產生影響。由select語句返回的行集包括所有滿足該語句where子句中條件的行,由語句所返回的完整的行集被稱為結果集。應用程式,特別是互動式聯機應用程式,並不總能將整個結果集作為乙個單元來有效地處理,這些應用程式需要一種機制以便每次處理一行或一部分行,游標就是提供這...

資料庫游標的編寫

1 定義游標 declare 游標名 cur youbiao cursor fast forward for select from 表名 fast forward 最快的游標 2 開啟游標 open 游標名 cur youbiao 2.1 對游標的操作 將每條資料讀取並輸出 2.1.1將游標向後移...

資料庫中游標的使用

1.為何使用游標 使用游標 cursor 的乙個主要的原因就是把集合操作轉換成單個記錄處理方式。用sql語言從資料庫中檢索資料後,結果放在記憶體的一塊區域中,且結果往往是乙個含有多個記錄的集合。游標機制允許使用者在sql server內逐行地訪問這些記錄,按照使用者自己的意願來顯示和處理這些記錄。2...