游標(trigger)是每個學資料庫的童鞋必定會接觸到的名詞,那麼游標的作用是什麼呢?我記得我上學那會學到游標,書上只給了乙個例子:從某個表中逐個讀取資料,當時我在想,逐個讀取和一次讀取有什麼區別?這個問題隨著其它學習任務被擱置了。
直到前段時間,由於有某種特殊需求,即:根據資料庫中每條資料的若干字段組合,計算出該條資料的特徵值(和hash值類似),並更新到該行的特徵字段(character),剛開始想用每條資料的id(自增的)取出這條資料之後,再計算特徵值更新到相應欄位中,但是總感覺這樣不太妥當,一是想挑戰一下自己的知識面,二是想對以往掌握的理論知識加以實踐,於是,我採用了游標:
當時的做法是:
一,定義乙個游標
二,逐條讀取游標中的資料,並且將讀到的當前行的資料提取出來儲存,對某些字段進行運算,得出特徵值,然後將特徵值更新到改行的指定欄位中
這樣做等於是將計算和更新放到資料庫端來做,在某方面加劇了資料庫的壓力,但是速度絕對是有提公升的,並且這種計算不會經常進行,因此綜合實際情況分析之後,才使用游標。針對本例,如果計算特徵值時,必須要在客戶端做一些處理,那麼恐怕用游標就不那麼靈活了,這裡也建議各位自行判斷優劣,做出取捨,畢竟,如果兩種情況(在資料庫計算和在程式中計算)都可以,使用游標也是對自己的一種鍛鍊。
資料庫游標
資料庫之 游標 轉貼 在資料庫開發過程中,當你檢索的資料只是一條記錄時,你所編寫的事務語句 往往使用select insert 語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。1.游標和游標的優點 在資料庫中,游標...
資料庫游標
資料庫游標 2007 10 10 15 40 游標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。游標總是與一條t sql 選擇語句相關聯因為游標由結果集 可以是零條 一條或由相關的選擇語句檢索出的多條記錄 和結果集...
資料庫游標
1.為何使用游標 使用游標 cursor 的乙個主要的原因就是把集合操作轉換成單個記錄處理方式。用sql語言從資料庫中檢索資料後,結果放在記憶體的一塊區域中,且結果往往是乙個含有多個記錄的集合。游標機制允許使用者在sql server內逐行地訪問這些記錄,按照使用者自己的意願來顯示和處理這些記錄。2...