資料庫游標學習總結

2021-08-30 18:27:01 字數 1113 閱讀 5549

游標是系統為使用者開設的乙個資料緩衝區,存放sql語句的執行結果。每個游標區都有乙個名字。使用者可以用sql語句逐一從游標中獲取記錄。

在資料庫開發過程中,當你檢索的資料只是一條記錄時,你所編寫的事務語句**往往使用select insert 語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。

在資料庫中,游標是乙個十分重要的概念。游標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。

游標總是與一條sql 選擇語句相關聯因為游標由結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的游標位置組成。當決定對結果集進行處理時,必須宣告乙個指向該結果集的游標。

如果曾經用 c 語言寫過對檔案進行處理的程式,那麼游標就像您開啟檔案所得到的檔案控制代碼一樣,只要檔案開啟成功,該檔案控制代碼就可代表該檔案。對於游標而言,其道理是相同的。可見光標能夠實現按與傳統程式讀取平面檔案類似的方式處理來自基礎表的結果集,從而把表中資料以平面檔案的形式呈現給程式。

使用游標有四種基本的步驟:宣告游標、開啟游標、提取資料、關閉游標。

前面已經講過mysql的游標使用,下面看一下oracle的游標

oracle的游標分為兩種,一種是強型別的游標,一種是弱型別的

強型別的游標和mysql的游標相同

弱型別的游標允許動態sql查詢,示例如下:

create or replace procedure ed_dynamic_proc()

as type t_dynamic is ref cursor;

v_dynamiccursorvar t_dynamic; /*定義游標*/

begin

open v_dynamiccursorvar for select * from table1;

loop

......

end loop;

close v_dynamiccursorvar;

end

資料庫總結五游標

create table users id int primary keynot null,name varchar 50 null insert into users values 1,dabing insert into users values 2,sunrongguan 游標例項 creat...

資料庫游標

資料庫之 游標 轉貼 在資料庫開發過程中,當你檢索的資料只是一條記錄時,你所編寫的事務語句 往往使用select insert 語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。1.游標和游標的優點 在資料庫中,游標...

資料庫游標

資料庫游標 2007 10 10 15 40 游標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。游標總是與一條t sql 選擇語句相關聯因為游標由結果集 可以是零條 一條或由相關的選擇語句檢索出的多條記錄 和結果集...