sqlserver簡單游標使用

2021-08-21 02:49:21 字數 1548 閱讀 4544

這個是乙個簡單的user表叫my_user

以下**及注釋

注:『--』為注釋

--建立乙個游標

declare my_cursor cursor for --my_cursor為游標的名稱,隨便起

select id,name from my_user --這是游標my_cursor的值,這裡隨便發揮看業務場景

--開啟游標

open my_cursor --沒什麼好說的

--變數

declare @id int --宣告變數 『declare』為宣告變數 『@name』為變數名稱 後面為變數型別

declare @name varchar(50) --這裡是兩個變數用來接收游標的值

--迴圈游標

fetch next from my_cursor into @id,@name --獲取my_cursor的下一條資料,其中為兩個字段分別賦值給@id,@name

while @@fetch_status=0 --假如檢索到了資料繼續執行

begin

print(@name) --print()列印變數 隨便發揮

select * from my_user where id=@id --這裡是具體業務了,隨便發揮。而我這是又執行了一次查詢

fetch next from my_cursor into @id,@name --獲取下一條資料並賦值給變數

end--關閉釋放游標

close my_cursor

deallocate my_cursor

以下為上面sql執行結果。

以下為一些基本操作擴充套件

--乙個表變數(臨時表)

declare @table table

(id int,

name varchar(50)

)--乙個字段變數

declare @name varchar(50)

--給表變數賦值(字段必須與臨時表的字段一一對應)

insert @table

select id,name from my_user

--查這個臨時表

select * from @table

--給字段變數賦值

set @name = '這是賦值的'

--或這樣賦值

select @name = name from my_user where id =1

union all --(兩個查詢結果鏈結起來)

SQL Server 游標的簡單使用

測試用例 表一 id name qq phone 1 秦雲 10102800 13500000 2 在路上 10378 13600000 3 leo 10000 13900000 表二 id name 上機時間 管理員 1 秦雲 2004 01 01 李大偉 2 秦雲 2005 01 01 馬化騰 ...

SQLServer游標的簡單使用

一 使用游標的幾個步驟 1 建立游標物件 在sql server中建立游標物件使用關鍵之declare 變數宣告 以及curosr 游標 declare 建立游標 cur cursor forselect user,pwd from usertable 2 開啟游標物件 游標物件建立之後,必須開啟之...

SQL Server 游標使用

游標概念 資料庫操作中我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。游標 cursor 是系統為使用者開設的乙個資料緩衝區,存放sql語句的執行結果。每個游標區都有乙個名字。使用者可以用sql語句逐一從游標中獲取記錄,並賦...