游標是sql 的一種資料訪問機制。可以將游標簡單的看成是查詢的結果集的乙個指標,可以根據需要在結果集上面來回滾動,瀏覽需要的資料。
--宣告游標
declare cur_cust_level cursor
forselect id,consumeamount from customers
--開啟游標
open cur_cust_level
--瀏覽資料,取資料id,consumeamount
--取資料
declare
@idint
declare
@cacount
intfetch
next
from cur_cust_level into
@id,
@cacount
--迴圈往下
while
(@@fetch_status=0
)begin
--修改消費等級if(
@cacount
<
500)
update customers set consumeleve=
'低消費'
where id=
@idelseif(
@cacount
<
1000
)update customers set consumeleve=
'中消費'
where id=
@idelse
update customers set consumeleve=
'高消費'
where id=
@idfetch
next
from cur_cust_level into
@id,
@cacount
end--關閉游標
close cur_cust_level
--釋放游標
deallocate cur_cust_level
select
*from customers
mysql游標很慢 Sqlserver 游標 慢
net專案中有個模組做統計功能,原先方法速度很慢,所以需要改進,統計結果如下圖 下圖接上圖後面 原先的處理方式是,這些資料分別涉及到四五張表,前台從資料庫中查詢出需要的資料集,然後分別遍歷這些資料集拼接html字串顯示在介面上。優化思考 net專案中有個模組做統計功能,原先方法速度很慢,所以需要改進...
SQL Server 游標使用
游標概念 資料庫操作中我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。游標 cursor 是系統為使用者開設的乙個資料緩衝區,存放sql語句的執行結果。每個游標區都有乙個名字。使用者可以用sql語句逐一從游標中獲取記錄,並賦...
sqlserver游標使用
create procedure pk test as 宣告2個變數 declare o id nvarchar 20 declare a salary float 宣告乙個游標mycursor,select語句中引數的個數必須要和從游標取出的變數名相同 declare mycursor curso...