例項為根據商品分類更新商品**。
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...