declare查詢結果:@userid
int , @gameid
nvarchar(50) --
宣告變數,需要讀取的資料
declare cur cursor
--去掉static關鍵字即可
forwith
emp as(
select acc.*
from
gxspreaddb.dbo.gxs_account acc
left
join
ryaccountsdb.dbo.accountsinfo account
on acc.userid=
account.userid
where parentuserid=
7213
and account.agentid=
0union
allselect d.*
from
emp ,gxspreaddb.dbo.gxs_account d
where d.parentuserid =
emp.userid )
select userid,gameid from
empopen cur --
開啟游標
fetch
next
from cur into
@userid, @gameid
--取資料
while ( @@fetch_status
=0 ) --
判斷是否還有資料
begin
select
'資料: '+
rtrim(@userid)+';
'+@gameid
--update #t set name='測試' where id=4 --測試靜態動態用
fetch
next
from cur into
@userid, @gameid
--這裡一定要寫取下一條資料
endclose cur --
關閉游標
deallocate cur
sqlserver游標使用和迴圈
游標說簡單點都是設定乙個資料表的行指標,然後使用迴圈等運算元據 游標主要是用來完成複雜的業務邏輯 比如sqlserver中樹型查詢,比如如下業務點 資料表編號 名稱 父編號 1 中國 0 2 上海市 1 3 虹口區 2 4 楊浦區 2 顯示結果 中國 上海市 虹口區 中國 上海市 楊浦區 類似這樣的...
mysql游標很慢 Sqlserver 游標 慢
net專案中有個模組做統計功能,原先方法速度很慢,所以需要改進,統計結果如下圖 下圖接上圖後面 原先的處理方式是,這些資料分別涉及到四五張表,前台從資料庫中查詢出需要的資料集,然後分別遍歷這些資料集拼接html字串顯示在介面上。優化思考 net專案中有個模組做統計功能,原先方法速度很慢,所以需要改進...
SQL Server 游標使用
游標概念 資料庫操作中我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。游標 cursor 是系統為使用者開設的乙個資料緩衝區,存放sql語句的執行結果。每個游標區都有乙個名字。使用者可以用sql語句逐一從游標中獲取記錄,並賦...