導航:首頁 > 數據處理 > 什麼是資料庫中的記錄指針

什麼是資料庫中的記錄指針

發布時間:2022-11-21 12:41:42

Ⅰ SQL中的指針和游標怎麼理解

windows或DOS的「游標」不同,MS-SQL的游標是一種臨時的資料庫對象,既對可用來旋轉儲存在系統永久表中的數據行的副本,也可以指向儲存在系統永久表中的數據行的指針。
游標為您提供了在逐行的基礎上而不是一次處理整個結果集為基礎的操作表中數據的方法。 1.如何使用游標 1)定義游標語句 Declare <游標名> Cursor For
2)創建游標語句 Open <游標名>
3)提取游標列值、移動記錄指針 Fetch <列名列表> From <游標名> [Into <變數列表>]
4)使用@@Fetch_Status利用While循環處理游標中的行
5)刪除游標並釋放語句 Close <游標名>/Deallocate <游標名>
6)游標應用實例 --定義游標
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
--創建游標
Open cur_Depart
--移動或提取列值
Fetch From cur_Depart into @DeptID,@DeptName
--利用循環處理游標中的列值
While @@Fetch_Status=0
Begin
Print @DeptID,@DeptName
Fetch From cur_Depart into @DeptID,@DeptName
End
--關閉/釋放游標
Close cur_Depart
Deallocate cur_Depart2.語句的詳細及注意 1)定義游標語句 Declare <游標名> [Insensitive] [Scroll] Cursor
For <Select 語句> [FOR {Read Only | Update [ OF <列名列表>]}] Insensitive DBMS創建查詢結果集數據的臨時副本(而不是使用直接引用資料庫表中的真實數據行中的列)。游標是Read Only,也就是說不能修改其內容或底層表的內容; Scroll 指定游標支持通過使用任意Fetch 選項(First Last Prior Next Relative Absolute)選取它的任意行作為當前行。如果此項省略,則游標將只支持向下移動單行(即只支持游標的Fetch Next); Select語句 定義游標結果集的標准 SELECT 語句。在游標聲明的 <Select語句>內不允許使用關鍵字 COMPUTE、COMPUTE BY、FOR BROWSE 和 INTO; Read Only 防止使用游標的用戶通過更新數據或刪除行改變游標的內容; Update 創建可更新游標且列出值能被更新的游標列。如果子句中列入了任意列,則只有被列入的列才能被更新。如果Declare Cursor語句中只指定的UPDATE(沒有列名列表),則游標將允許更新它的任何或所有列。
Declare cur_Depart Cursor
For Select * From Department For Update OF cDeptID,cDeptName 2)提取游標列值、移動記錄指針語句 Fetch [Next | Prior | First | Last | {Absolute <行號>} | {Relative <行號>}]
From <游標名> [Into <變數列表……>] 每次執行Fetch語句時,DBMS移到游標中的下一行並把游標中的列值獲取到Into中列出的變數中。因此Fetch語句的Into子句中列出的變數必須與游標定義中Select 語句中的列表的類型與個數相對應; 僅當定義游標時使用Scroll參數時,才能使用Fetch語句的行定位參數(First Last Prior Next Relative Absolute);如果Fetch語句中不包括參數Next | Prior | First | Last,DBMS將執行默認的Fetch Next; Next 向下、向後移動一行(記錄); Prior 向上、向前移動一行(記錄); First 移動至結果集的第一行(記錄); Last 移動至結果集的最後一行(記錄); Absolute n 移動到結果集中的第n行。如果n是正值,DBMS從結果集的首部向後或向下移動至第n行;如果n是負數,則DBMS從結果集的底部向前或向上移動n行;
Fetch Absolute 2 From cur_Depart Into @DeptID,@DeptName Relative n 從指針的當前位置移動n行。如果n是正值,DBMS將行指針向後或向下移動至第n行;如果n是負數,則DBMS將行指針向前或向上移動n行;
Fetch Relative 2 From cur_Depart Into @DeptID,@DeptName 3)基於游標的定位DELETE/UPDATE語句 如果游標是可更新的(也就是說,在定義游標語句中不包括Read Only 參數),就可以用游標從游標數據的源表中DELETE/UPDATE行,即DELETE/UPDATE基於游標指針的當前位置的操作;
舉例: --刪除當前行的記錄
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
Open cur_Depart
Fetch From cur_Depart into @DeptID,@DeptName
Delete From Department Where CURRENT OF cur_Depart --更新當前行的內容
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
Open cur_Depart
Fetch From cur_Depart into @DeptID,@DeptName
Update Department Set cDeptID=』2007』 + @DeptID Where CURRENT OF cur_Depart3.游標使用技巧及注意 1)利用Order By改變游標中行的順序。此處應該注意的是,只有在查詢的中Select 子句中出現的列才能作為Order by子句列,這一點與普通的Select語句不同;
2)當語句中使用了Order By子句後,將不能用游標來執行定位DELETE/UPDATE語句;如何解決這個問題,首先在原表上創建索引,在創建游標時指定使用此索引來實現;例如:
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department With INDEX(idx_ID)
For Update Of cDeptID,cDeptName
通過在From子句中增加With Index來實現利用索引對表的排序;
3)在游標中可以包含計算好的值作為列;
4)利用@@Cursor_Rows確定游標中的行數;

Ⅱ 資料庫的指針是什麼

資料庫里沒有指針
有游標。
游標是映射在結果集中一行數據上的位置實體,有了游標,用戶就可以訪問結果集中的任意一行數據了,將游標放置到某行後,即可對該行數據進行操作。
1. 聲明游標
CURSOR mycur(vartype number) is
select emp_no,emp_zc from cus_emp_basic
where com_no = vartype;

2. 打開游標
open mycur(000627)
註:000627是參數

3. 讀取數據
fetch mycur into varno, varprice;

4. 關閉游標
close mycur;

Ⅲ 資料庫中的「記錄」指的是什麼

我們把表中的每一行叫做一個「記錄」,每一個記錄包含這行中的所有信息,就像在通訊錄資料庫中某個人全部的信息,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄

Ⅳ 在資料庫裡面,什麼叫記錄,什麼叫欄位是一行還是一列

資料庫一般術語中記錄是一行,欄位是一列,記錄和欄位在分別對應關系資料庫中的屬性和元組

Ⅳ Visu-al FoxPro中什麼是記錄號、記錄指針、當前記錄

記錄號:就是第幾條記錄
記錄指針:指示當前記錄
當前記錄:當前選中或操作的記錄.
就字面意思不太難理解啊

Ⅵ 在visual foxpro數據中,記錄指針的作用是什麼

記錄指針用於定位當前表的當前記錄。
需多對表進行操作的命令在不給出條件的情況下,就是對當前記錄進行操作。
可以通過SKIP
N,GO
N等語句移動記錄指針到要求的記錄。使用該記錄成為當前記錄。
在不限定條件的前題下,可以通過
RECNO()來求出當前記錄指針的位置(記錄號)。
DISPLAY顯示當前記錄。
DELETE
刪除當前記錄。
BROW,EDIT,REPLACE來修改當前記錄。

Ⅶ 記錄指針的定義

vfp的記錄指針是指打開的表的當前記錄的,即指向表的記錄,比如新打開一個表,記錄指針指向第一條記錄,SKIP 後指向第二條記錄,LOCATE FOR XM='王宏'記錄指針指向XM為王宏的記錄。

Ⅷ 資料庫記錄是什麼

數據記錄是指對應於數據源中一行信息的一組完整的相關信息。例如,客戶郵件列表中的有關某位客戶的所有信息為一條數據記錄。
資料庫具有以下主要特點:
(1)實現數據共享。數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過介面使用資料庫,並提供數據共享。
(2)減少數據的冗餘度。同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗餘,維護了數據的一致性。
(3)數據的獨立性。數據的獨立性包括資料庫中資料庫的邏輯結構和應用程序相互獨立,也包括數據物理結構的變化不影響數據的邏輯結構。
(4)數據實現集中控制。文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯系。
(5)數據一致性和可維護性,以確保數據的安全性和可靠性。主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③並發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用;④故障的發現和恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。

Ⅸ 資料庫中recordset 都有什麼屬性,

zzzzRecordSet對象的屬性可分為以下4種類型。

zzzz1)方式屬性:包括ActiveConnection屬性和Source屬性。

zzzz2)行為屬性:包括CursorType屬性、LockType屬性、Filter屬性、CacheSize屬性和MaxRecords屬性。

zzzz3)記錄指針移動屬性:包括BOF和EOF屬性、RecordCount屬性、BookMar屬性、AbsikytePosition屬性、PageSize屬性、AbsolutePage屬性和PageCount屬性。

zzzz4)數據維護屬性:包括EditMode屬性和Status屬性等。

1.方式屬性

zzzz(1) ActiveConnection屬性

zzzz此屬性用於指定鏈接字元串或Connection對象的名稱,方便RecordSet對象完成資料庫鏈接有前置動作。

zzzz(2) Source屬性

zzzz此屬性用於設置或返回一個字元串,指定要檢索資料庫伺服器。包含存儲進程名、表名、SQL語句或在打開時用於為RecordSet提供記錄集合的開放Command對象。

2.行為屬性

zzzz(1)CursorType屬性:此屬性定義了指針的類型,不同的指針類型決定了對資料庫所能做的操作,它有4種可取值,如表7-9所示。

表7-9 CursorType屬性值說明

zzzz(2)LockType屬性:此屬性決定了是否可以更新數據以及RecordSet的更新是否可以批量進行。LockType屬性有4種可取值,如表7-10所示。

表7-10 LockType屬性值說明

zzzz(3)Filter屬性:此屬性用於過濾由資料庫伺服器端所返回的數據,Filter屬性設定值如表7-11所示。

表7-11 Filter所示屬性值說明

zzzz(4)CacheSize屬性:此屬性指定保存在高速緩存中RecordSet記錄的數目,也就是客戶端每次由資料庫伺服器端取回數據記錄的數目。對於只能向前移動的記錄,默認值為1。

zzzz(5)MaxRecords屬性:該屬性設定返回給RecordSet記錄的最大數目,默認值為0,表明將所有記錄都加入到RecordSet中,打開RecordSet對象後,此屬性為只讀。

3.記錄指針移動的屬性

zzzz(1)BOF和EOF屬性:這兩個屬性是用來判斷指針是否在RecordSet的首記錄之前或尾記錄之後。如果當記錄位於RecordSet的首記錄之前,則BOF返回True.如果當前記錄是位於RecordSet的尾記錄之後,則EOF返回True.如果BOF 和EOF都為True,則說明RecordSet中沒有記錄。

zzzz(2)RecordCount屬性:該屬性用於返回RecordSet中的記錄數。

zzzz(3)BookMark屬性:當創建一個允許使用BookMark屬性的RecordSet時,給每一個記錄都標上獨一無二的書簽。利用此屬性可以返回標記書簽的位置。

zzzz(4)AbsolutePosition屬性:此屬性可以用於設置RecordSet當前記錄的順序位置。

zzzz(5)PageSize屬性:當記錄集合返回到RecordSet中時,集合就會被劃分成任意大小的頁。利用此屬性可以頁記錄集合。

zzzz(6)AbsolutePage屬性:此屬性指定了指針的位置,通過改變它的值來通知ADO移動指定頁面的開始位置。

zzzz(7)PageCount屬性:此屬性可用來返回RecordSet中的頁數。如果RecordSet最後一頁未滿,其中的記錄就少於PageCount值,則PageCount屬性值應由下面的公式設定。

zzzzPageCount=(RecordCount+PageSize-1)/PageSize

4.數據維護屬性

zzzz(1)EditMode屬性:該屬性返回一個表明當前記錄編輯狀態的值。此屬性的返回值有3種如表7-12所示。

表7-12EditMode返回值

zzzz(2)Status屬性:此屬性可以在實施一次批量更新後,查詢RecordSet的狀態。該屬性常用於多用戶鏈接管理。其返回值如表7-13所示。

表7-13 Status的返回值

閱讀全文

與什麼是資料庫中的記錄指針相關的資料

熱點內容
如何在火山直播上推廣產品 瀏覽:526
生魚片市場在哪裡 瀏覽:126
老的程序怎麼學 瀏覽:949
貢小美如何選擇私護產品 瀏覽:600
委託代理什麼概念 瀏覽:672
有了美食和技術還需要什麼 瀏覽:518
豐田有什麼技術優點 瀏覽:361
如何選k40數據線 瀏覽:930
男裝推送優惠券怎麼給顧客發信息 瀏覽:553
歐姆龍有哪些大的代理商 瀏覽:740
一個保險代理點一年掙多少錢 瀏覽:263
手游代理為什麼會熱門 瀏覽:526
鄭州市哪個市場倉庫最多聚集 瀏覽:857
貨到了郵政所為什麼還沒有信息 瀏覽:861
為什麼網店的產品都那麼立體 瀏覽:626
禁止風險代理的案子有哪些 瀏覽:73
古董交易平台哪裡有賣 瀏覽:298
閩江職業技術學校學費多少啊 瀏覽:221
老手機來不了信息怎麼辦 瀏覽:309
旅遊產品什麼品牌最好 瀏覽:167