日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 充電吧
[導讀]----游標?? 從某一結果集中逐一的取出數(shù)據(jù)--------游標分類:Transact-SQL游標,API游標,客戶游標----游標的生命周期:聲明游標,打開游標,讀取游標數(shù)據(jù),關閉游標,釋放游標-


----游標?? 從某一結果集中逐一的取出數(shù)據(jù)----
----游標分類:Transact-SQL游標,API游標,客戶游標

----游標的生命周期:聲明游標,打開游標,讀取游標數(shù)據(jù),關閉游標,釋放游標


----1. 聲明游標:是為游標指定獲取數(shù)據(jù)時所使用的Select語句,聲明游標并不會檢索任何數(shù)據(jù)
----Declare 游標名稱 Cursor 參數(shù)

?DECLARE cursor_name CURSOR
?[LOCAL | GLOBAL]
?[FORWARD_ONLY | SCROLL]
?[STATIC | KEYSET | DYNAMIC]
?[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
?FOR select_statement
?[FOR {READ ONLY | UPDATE ][OF column_list]}]


----INSENSITIVE關鍵字指明要為檢索到的結果集建立一個臨時拷貝,以后的數(shù)據(jù)從這個臨時拷貝中獲取。如果在后來游標處理的過程中,原有基表中數(shù)據(jù)發(fā)生了改變,那么它們對于該游標而言是不可見的。這種不敏感的游標不允許數(shù)據(jù)更改。

----SCROLL關鍵字指明游標可以在任意方向上滾動。所有的fetch選項(first、last、next、relative、absolute)都可以在游標中使用。如果忽略該選項,則游標只能向前滾動(next)。

----Select_statement指明SQL語句建立的結果集。Transact SQL語句COMPUTE、COMPUTE BY、FOR BROWSE和INTO在游標聲明的選擇語句中不允許使用。

----READ ONLY指明在游標結果集中不允許進行數(shù)據(jù)修改。
----UPDATE關鍵字指明游標的結果集可以修改。
----OF column_list指明結果集中可以進行修改的列。缺省情況下(使用UPDATE關鍵字),所有的列都可進行修改。
----LOCAL關鍵字指明游標是局部的,它只能在它所聲明的過程中使用。
----GLOBAL關鍵字使得游標對于整個連接全局可見。全局的游標在連接激活的任何時候都是可用的。只有當連接結束時,游標才不再可用。
----FORWARD_ONLY指明游標只能向前滾動。
----STATIC的游標與INSENSITIVE的游標是相同的。
----KEYSET指明選取的行的順序。SQL Server將從結果集中創(chuàng)建一個臨時關鍵字集。如果對數(shù)據(jù)庫的非關鍵字列進行了修改,則它們對游標是可見的。因為是固定的關鍵字集合,所以對關鍵字列進行修改或新插入列是不可見的。
----DYNAMIC指明游標將反映所有對結果集的修改。
----SCROLL_LOCK是為了保證游標操作的成功,而對修改或刪除加鎖。
----OPTIMISTIC指明哪些通過游標進行的修改或者刪除將不會成功。


----標準游標
?Declare MyCursor Cursor
??for Select * from AccountInfo


----只讀游標
?Declare MyCursor Cursor
??for Select * from AccountInfo
??for Read Only


----可更新游標
?Declare MyCursor Cursor
??for Select * from AccountInfo
??for update
?


----2. 打開游標:使用Open語句打開Transaction-SQL服務器游標,執(zhí)行Open語句的過程就是按照Select語句驚醒填充數(shù)據(jù)
----打開游標以后游標位置在第一行
?Open MyCursor
?


----3. 讀取游標數(shù)據(jù):在打開游標以后,使用Fetch語句從Transaction-SQL服務器游標中檢索特定的一行,使用Fetch
----操作可以使游標移動到下一條記錄,并將游標返回的每個列的數(shù)據(jù)分別賦值給聲明的本地變量
?Fetch [Next|Prior|First|Last|Absolute n|Relative n ] from MyCursor
?into @accountID,@name,@type,@money,@state


----NEXT指明從當前行的下一行取值,若第一次取值則返回第一行。默認讀取選項為Next
----PRIOR指明從當前行的前一行取值。
----FIRST是結果集的第一行。
----LAST是結果集的最后一行。
----ABSOLUTE n表示結果集中的第n行,該行數(shù)同樣可以通過一個局部變量傳播。若n為正數(shù),則返回從游標標頭開始的第n行,
----并將返回行作為新的當前行;若n為負數(shù),則返回從游標末尾開始的第n行,并將返回行作為新的當前行;如果n為0,則返回當前行。
----RELATIVE n表示要取出的行在當前行的前n行或后n行的位置上。如果該值為正數(shù),則要取出的行在當前行前n行的位置上,
----如果該值為負數(shù),則返回當前行的后n行。
----INTO @cursor_variable_name表示游標列值存儲的地方的變量列表。該列表中的變量數(shù)應該與DECLARE語句中選擇語句
----所使用的變量數(shù)相同。變量的數(shù)據(jù)類型也應該與被選擇列的數(shù)據(jù)類型相同。直到下一次使用FETCH語句之前,變量中的
----值都會一直保持。
----每一次FETCH的執(zhí)行都存儲在系統(tǒng)變量@@fetch_status中。如果FETCH成功,則@@fetch_status被設置成0。
----@@fetch_status為-1表示已經(jīng)到達了結果集的一部分(例如,在游標被打開之后,基表中的行被刪除)。
----@@fetch_status可以用來構造游標處理的循環(huán)。



----4. 關閉游標:
?Close MyCursor



----5. 釋放游標:
Deallocate MyCursor


----游標使用小例子
declare @ID varchar(20);
declare @name nvarchar(20);
declare @type nvarchar(20);
declare @money nvarchar(20);
declare @state nvarchar(20);
Declare MyCursor Cursor scroll
?for Select * from AccountInfo
open MyCursor
Fetch Next from MyCursor
?into @ID,@name,@type,@money,@state
?
while(@@Fetch_Status=0)
?begin
??--begin
??print @ID+',?'+@name+',?'+@type+',?'+@money+',?'+@state
??--end
??Fetch Next from MyCursor
??into @ID,@name,@type,@money,@state
?end

close MyCursor
Deallocate MyCursor


----結果:1, Eva, RMB, 5000.00, Active
----????? 2, Eva, Dollor, 2000.00, Active

----修改當前游標的數(shù)據(jù)
Update AccountInfo(tablename) set accountName='Jack'(columnname) Where current of MyCursor


----修改當前游標的數(shù)據(jù)
Delete from AccountInfo(tablename) Where current of MyCursor

Select @@cursor_rows? ----可以得到當前游標中存在的數(shù)據(jù)行數(shù)


----此變量為一個連接上的全局變量,因此只對應最后一次打開的游標

----參考文章:?http://www.cnitblog.com/ffan/archive/2005/10/13/3276.aspx

Be the change you want to see in the world.






本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉