成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

游標(biāo)為何物,請(qǐng)你看這里

數(shù)據(jù)庫(kù) SQL Server
昨天小編分享兩篇關(guān)于游標(biāo)的文章:游標(biāo)腳本性能問(wèn)題詳解之案例實(shí)踐篇,游標(biāo)腳本性能問(wèn)題詳解之游標(biāo)分類特點(diǎn)篇 ,并在文章中簡(jiǎn)單對(duì)游標(biāo)做了說(shuō)明。今天小編找到了一篇具體介紹游標(biāo)的博文,在這里與大家一起學(xué)習(xí)。

昨天小編分享兩篇關(guān)于游標(biāo)的文章:游標(biāo)腳本性能問(wèn)題詳解之案例實(shí)踐篇游標(biāo)腳本性能問(wèn)題詳解之游標(biāo)分類特點(diǎn)篇 ,并在文章中簡(jiǎn)單對(duì)游標(biāo)做了說(shuō)明。今天小編找到了一篇具體介紹游標(biāo)的博文,在這里與大家一起學(xué)習(xí)。

游標(biāo)(cursor)

游標(biāo)是系統(tǒng)為用戶開設(shè)的一個(gè)數(shù)據(jù)緩沖區(qū),存放SQL語(yǔ)句的執(zhí)行結(jié)果。每個(gè)游標(biāo)區(qū)都有一個(gè)名字。用戶可以用SQL語(yǔ)句逐一從游標(biāo)中獲取記錄,并賦給主變量,交由主語(yǔ)言進(jìn)一步處理。主語(yǔ)言是面向記錄的,一組主變量一次只能存放一條記錄。僅使用主變量并不能完全滿足SQL語(yǔ)句向應(yīng)用程序輸出數(shù)據(jù)的要求。嵌入式SQL引入了游標(biāo)的概念用來(lái)協(xié)調(diào)這兩種不同的處理方式

在數(shù)據(jù)庫(kù)開發(fā)過(guò)程中,當(dāng)你檢索的數(shù)據(jù)只是一條記錄時(shí),你所編寫的事務(wù)語(yǔ)句代碼往往使用SELECT INSERT 語(yǔ)句。但是我們常常會(huì)遇到這樣情況,即從某一結(jié)果集中逐一地讀取一條記錄。那么如何解決這種問(wèn)題呢?游標(biāo)為我們提供了一種極為優(yōu)秀的解決方案。

1.游標(biāo)和游標(biāo)的優(yōu)點(diǎn)

在數(shù)據(jù)庫(kù)中,游標(biāo)是一個(gè)十分重要的概念。游標(biāo)提供了一種對(duì)從表中檢索出的數(shù)據(jù)進(jìn)行操作的靈活手段,就本質(zhì)而言,游標(biāo)實(shí)際上是一種能從包括多條數(shù)據(jù)記錄的結(jié)果集中每次提取一條記錄的機(jī)制。游標(biāo)總是與一條SQL 選擇語(yǔ)句相關(guān)聯(lián)因?yàn)橛螛?biāo)由結(jié)果集(可以是零條、一條或由相關(guān)的選擇語(yǔ)句檢索出的多條記錄)和結(jié)果集中指向特定記錄的游標(biāo)位置組成。當(dāng)決定對(duì)結(jié)果集進(jìn)行處理時(shí),必須聲明一個(gè)指向該結(jié)果集的游標(biāo)。如果曾經(jīng)用 C 語(yǔ)言寫過(guò)對(duì)文件進(jìn)行處理的程序,那么游標(biāo)就像您打開文件所得到的文件句柄一樣,只要文件打開成功,該文件句柄就可代表該文件。對(duì)于游標(biāo)而言,其道理是相同的。可見游標(biāo)能夠?qū)崿F(xiàn)按與傳統(tǒng)程序讀取平面文件類似的方式處理來(lái)自基礎(chǔ)表的結(jié)果集,從而把表中數(shù)據(jù)以平面文件的形式呈現(xiàn)給程序。

我們知道關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)質(zhì)是面向集合的,在MS SQL SERVER 中并沒有一種描述表中單一記錄的表達(dá)形式,除非使用where 子句來(lái)限制只有一條記錄被選中。因此我們必須借助于游標(biāo)來(lái)進(jìn)行面向單條記錄的數(shù)據(jù)處理。由此可見,游標(biāo)允許應(yīng)用程序?qū)Σ樵冋Z(yǔ)句select 返回的行結(jié)果集中每一行進(jìn)行相同或不同的操作,而不是一次對(duì)整個(gè)結(jié)果集進(jìn)行同一種操作;它還提供對(duì)基于游標(biāo)位置而對(duì)表中數(shù)據(jù)進(jìn)行刪除或更新的能力;而且,正是游標(biāo)把作為面向集合的數(shù)據(jù)庫(kù)管理系統(tǒng)和面向行的程序設(shè)計(jì)兩者聯(lián)系起來(lái),使兩個(gè)數(shù)據(jù)處理方式能夠進(jìn)行溝通。

2. 游標(biāo)種類

MS SQL SERVER 支持三種類型的游標(biāo):Transact_SQL 游標(biāo),API 服務(wù)器游標(biāo)和客戶游標(biāo)

(1) Transact_SQL 游標(biāo)

Transact_SQL 游標(biāo)是由DECLARE CURSOR 語(yǔ)法定義、主要用在Transact_SQL 腳本、存儲(chǔ)過(guò)程和觸發(fā)器中。Transact_SQL 游標(biāo)主要用在服務(wù)器上,由從客戶端發(fā)送給服務(wù)器的Transact_SQL 語(yǔ)句或是批處理、存儲(chǔ)過(guò)程、觸發(fā)器中的Transact_SQL 進(jìn)行管理。 Transact_SQL 游標(biāo)不支持提取數(shù)據(jù)塊或多行數(shù)據(jù)。

(2) API 游標(biāo)

API 游標(biāo)支持在OLE DB, ODBC 以及DB_library 中使用游標(biāo)函數(shù),主要用在服務(wù)器上。每一次客戶端應(yīng)用程序調(diào)用API 游標(biāo)函數(shù),MS SQL SEVER 的OLE DB 提供者、ODBC驅(qū)動(dòng)器或DB_library 的動(dòng)態(tài)鏈接庫(kù)(DLL) 都會(huì)將這些客戶請(qǐng)求傳送給服務(wù)器以對(duì)API游標(biāo)進(jìn)行處理。

(3) 客戶游標(biāo)

客戶游標(biāo)主要是當(dāng)在客戶機(jī)上緩存結(jié)果集時(shí)才使用。在客戶游標(biāo)中,有一個(gè)缺省的結(jié)果集被用來(lái)在客戶機(jī)上緩存整個(gè)結(jié)果集。客戶游標(biāo)僅支持靜態(tài)游標(biāo)而非動(dòng)態(tài)游標(biāo)。由于服務(wù)器游標(biāo)并不支持所有的Transact-SQL 語(yǔ)句或批處理,所以客戶游標(biāo)常常僅被用作服務(wù)器游標(biāo)的輔助。因?yàn)樵谝话闱闆r下,服務(wù)器游標(biāo)能支持絕大多數(shù)的游標(biāo)操作。由于API 游標(biāo)和Transact-SQL 游標(biāo)使用在服務(wù)器端,所以被稱為服務(wù)器游標(biāo),也被稱為后臺(tái)游標(biāo),而客戶端游標(biāo)被稱為前臺(tái)游標(biāo)。在本章中我們主要講述服務(wù)器(后臺(tái))游標(biāo)

游標(biāo)詳細(xì)說(shuō)明:

RS.OPEN SQL,CONN,A,B

參數(shù)A為設(shè)定游標(biāo)的類型,其取值為:

0 僅向前游標(biāo),只能向前瀏覽記錄,不支持分頁(yè)、Recordset、BookMark

1 鍵集游標(biāo),其他用戶對(duì)記錄說(shuō)做的修改將反映到記錄集中,但其他用戶增加或刪除記錄不會(huì)反映到記錄集中。支持分頁(yè)、Recordset、BookMark

2 動(dòng)態(tài)游標(biāo)功能***,但耗資源也最多。用戶對(duì)記錄說(shuō)做的修改,增加或刪除記錄都將反映到記錄集中。支持全功能瀏覽。

3 靜態(tài)游標(biāo),只是數(shù)據(jù)的一個(gè)快照,用戶對(duì)記錄說(shuō)做的修改,增加或刪除記錄都不會(huì)反映到記錄集中。支持向前或向后移動(dòng)。

參數(shù)B為記錄集的鎖定類型,其取值為:

1 鎖定類型,默認(rèn)的,只讀,不能作任何修改

2 當(dāng)編輯時(shí)立即鎖定記錄,最安全的方式

3 只有在調(diào)用Update方法時(shí)才鎖定記錄集,而在此前的其他操作仍可對(duì)當(dāng)前記錄進(jìn)行更改、插入和刪除等

4 當(dāng)編輯時(shí)記錄不會(huì)被鎖定,而更改、插入和刪除是在批處理方式下完成的

打開數(shù)據(jù)記錄集方法其實(shí)不止一種,但是我們用的最多的就是

rs.open sql,1,1的方法,可是后面的數(shù)字參數(shù)很多人不解其意,下面我們來(lái)介紹一下。

其實(shí)open方法后面有多個(gè)參數(shù)

CursorType LockType CommandType

比如 rs.open sql,1,1

也可以寫成

rs.cursorType = 1

rs.LockType = 1

rs.open sql

其中CursorType代表從一個(gè)表或者一個(gè)SQL查詢結(jié)果返回的記錄。

這個(gè)參數(shù)有四個(gè)值分別是:

adOpenForwardOnly 表示只允許在記錄集內(nèi)的記錄間往前移動(dòng)。這個(gè)是缺省值。

adOpenKeyset 反映由其它用戶所做的對(duì)記錄的改變或者刪除動(dòng)作,但并不反映由其它用戶做作的添加新記錄的動(dòng)作。

adOpenDynamic 反映由其它用戶所做的對(duì)記錄的改變或者刪除動(dòng)作,包括添加的新記錄

adOpenStatic 不反映其它用戶對(duì)記錄所做的修改,添加,刪除動(dòng)作。

這四個(gè)值VBSCRIPT預(yù)定義位

adOpenForwardOnly = 0

adOpenKeyset = 1

adOpenDynamic = 2

adOpenStatic = 3

lockType 表示當(dāng)打開記錄集時(shí),數(shù)據(jù)提供者用于鎖定數(shù)據(jù)庫(kù)的類型:

adLockReadOnly 數(shù)據(jù)不能改變,這是缺省值!

adLockPessimistic 數(shù)據(jù)提供者在開始編輯數(shù)據(jù)的時(shí)候鎖定記錄

adLockOptimistic 僅當(dāng)調(diào)用update方法時(shí),數(shù)據(jù)提供者鎖定記錄

adLockBatchOptimistic 用于批處理修改

他們的常量值定義分別是:

adLockReadOnly = 1

adLockPessimistic = 2

adLockOptimistic = 3

adLockBatchOptimistic = 4

rs.open sql,conn,1,1 讀取記錄 select

rs.open sql,conn,1,3 只更新記錄*** update

rs.open sql,conn,2,3 插入和刪除*** insert delete

原文鏈接:http://www.cnblogs.com/cylee025/archive/2011/04/07/2007538.html

責(zé)任編輯:艾婧 來(lái)源: 博客園
相關(guān)推薦

2011-07-04 10:59:22

HP惠普CloudSystem

2010-08-24 09:19:59

2013-03-05 13:46:46

IDC歐洲企業(yè)大數(shù)據(jù)

2013-03-07 09:38:53

歐洲大數(shù)據(jù)IDC

2018-08-16 09:00:44

2019-10-25 09:01:09

物聯(lián)網(wǎng)Wi-Fi通信

2019-11-21 06:10:30

物聯(lián)網(wǎng)移動(dòng)應(yīng)用IOT

2014-11-05 10:08:50

2017-10-17 09:55:16

數(shù)據(jù)庫(kù)SQL Server規(guī)范集錦

2019-08-15 09:28:32

SQLNoSQLCPU

2019-08-14 14:54:19

MySQLPostgreSQL數(shù)據(jù)庫(kù)

2020-03-06 10:33:01

網(wǎng)絡(luò)欺詐在線支付網(wǎng)絡(luò)安全

2022-08-26 12:46:04

NQA網(wǎng)絡(luò)質(zhì)量分析

2019-06-05 07:42:31

2015-12-08 10:23:23

SDN軟件定義網(wǎng)絡(luò)

2021-03-31 06:37:03

WiFi 6路由器WiFi 5

2019-03-21 12:42:18

華為云

2019-09-16 09:49:49

數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)SQL

2022-09-08 07:32:56

JDK7程序管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久9 | 欧美日韩国产精品激情在线播放 | 欧美精品在线一区二区三区 | 久久日韩精品 | 成人免费看 | 国产精品亚洲片在线播放 | 久久精品亚洲 | 亚洲自拍偷拍视频 | 国产乱码精品1区2区3区 | 日本电影免费完整观看 | 香蕉久久网 | 亚洲福利在线视频 | 国产日韩欧美在线 | 日韩精品一区二区三区四区 | 久久久久精 | 国产精品久久久亚洲 | 国产成人精品久久 | 一区精品视频在线观看 | 日韩中文字幕免费在线观看 | 祝你幸福电影在线观看 | 精品一区二区三区视频在线观看 | 国产精品久久久久久久久久久久午夜片 | 最新一级毛片 | 一区二区免费 | 琪琪午夜伦伦电影福利片 | 欧美一区二区三区免费电影 | 特黄色一级毛片 | 日韩精品久久久久 | 搞黄视频免费看 | 夜夜摸夜夜操 | 日韩精品1区2区3区 爱爱综合网 | 久草视频观看 | 国产69精品久久久久777 | 一区影院| 日韩毛片免费看 | 国产精品欧美一区喷水 | 国产成人久久 | 2019天天干天天操 | 亚洲一级淫片 | 日本a网站 | 亚洲天堂一区 |