sql中的游標在處理一些需要迴圈處理的邏輯時很有用處,但是由於使用頻率相對較低,經常會忘記使用方法,每用一次就要google一次,很有挫敗感。於是下定決心要記在腦海了,於是就想到編寫乙個順口溜「口訣」。
游標原理可以概括為將sql查詢結果填入cursor型別,cursor型別可以看成是乙個臨時表。然後通過迴圈一條一條的讀到變數中進行中處理。
游標使用的「口訣」
宣告cursor要靠for
for的後面是sql
定義好後要open
然後變數來儲存
先從(from)cursor取(fetch)乙個
取後裝到變數裡
while迴圈來幫忙
邏輯要在whlie裡
用完乙個下乙個
@@fetch_status來截止
用完之後要關閉
關閉之後要清除
按口訣編寫示例
--宣告對應declare,注意cursor變數不帶@
declare cs_demo cursor for
--for後面放查詢語句,根據具體需要自由發揮
select id,[name] from master.dbo.sysobjects where [type]='u'
--定義完成開啟cursor
open cs_demo
--定義變數才儲存:用幾個欄位就查詢幾個字段,相應定義幾個變數
declare @id int,@name varchar(100)
--取第乙個
fetch next from cs_demo into @id,@name
--迴圈遍歷處理邏輯
while @@fetch_status=0
begin
--這裡是具體處理邏輯
print str(@id)+ '->' + @name
--用完乙個下乙個
fetch next from cs_demo into @id,@name
end--關閉和銷毀
close cs_demo
deallocate cs_demo
英語單詞詞性順口溜 英語單詞順口溜
1,運動場上真熱鬧,踢球賽跑和跳高。運動場上走一走,我也要來做運動。sport sport 身體好,basketball basketball 正投籃,volleyball volleyball 要起跳,table tennis table tennis 小又圓,football football ...
解決CSS BUG的順口溜
一 ie邊框若顯若無,須注意,定是高度設定已忘記 二 浮動產生有緣故,若要父層包含住,緊跟浮動要清除,容器自然顯其中 三 三畫素文字慢移不必慌,高度設定幫你忙 四 相容各個瀏覽須注意,預設設定行高可能是殺手 五 獨立清除浮動須銘記,行高設無,高設零,設計效果兼瀏覽 六 學布局須思路,路隨布局原理自然...
解決CSS BUG的順口溜
一 ie邊框若顯若無,須注意,定是高度設定已忘記 二 浮動產生有緣故,若要父層包含住,緊跟浮動要清除,容器自然顯其中 三 三畫素文字慢移不必慌,高度設定幫你忙 四 相容各個瀏覽須注意,預設設定行高可能是殺手 五 獨立清除浮動須銘記,行高設無,高設零,設計效果兼瀏覽 六 學布局須思路,路隨布局原理自然...