PL SQL語法之游標

2021-06-28 06:28:08 字數 942 閱讀 6276

本文介紹的是oracle中的游標型別有哪些,以及如何定義和使用各種型別的游標。

在oracle中,游標可以分為顯示游標和隱式游標。先說隱式游標,隱式游標沒有語法上的定義,但在使用上卻是使用了游標的特性,所以被稱作隱式游標;顯示游標則又可以分為靜態游標,和動態游標(也稱ref游標)。而動態游標又可以進一步分為強型別動態游標,和弱型別動態游標。初次接觸的朋友可能覺得關係有點複雜,這裡給出關係圖:

靜態游標語法:

說明:靜態游標的特別之處在於,它是宣告的時候就要繫結好select語句。

強型別動態游標:

說明:強型別動態游標與弱型別動態的游標的差別就在於,強型別動態游標宣告的時候同時宣告了該游標返回的是什麼型別的資料。

弱型別動態游標:

隱式游標:

說明:隱式游標是沒有什麼語法的,但實際上它就是使用了游標,下面**中var游標轉儲變數甚至都不用宣告就直接可以使用,在in的子句裡面繫結select語句。

系統預定義動態游標:

系統預定義了一種動態游標(ref游標)——sys_refcursor.這種動態游標已經是定義好了的。使用的時候只需宣告就可以。不用像一般的動態游標,要自己先定義,然後宣告再來使用。

SQL語法之游標

游標是面向行的,它會使開發人員變懶,懶得去想用面向集合的查詢方式實現某些功能。在效能上,游標會遲更多的記憶體,減少可用的併發,占用頻寬,鎖定資源,當然還有更多的 量。用乙個比喻來說明為什麼游標會占用更多的資源。當你從atm機取款的時候,是一次取1000的效率更高呢,還是10次100呢?declare...

PL SQL語法 游標

oracle中的游標分為顯式游標和隱式游標。隱式游標是系統自動為你建立的。顯式游標是使用者通過建立cursor的方式來建立。在oracle中有三種型別的游標 1 不帶引數的游標 eg cursor customer cur is select from customer s 2 帶引數的游標 eg ...

PL SQL語法 游標

oracle中的游標分為顯式游標和隱式游標。隱式游標是系統自動為你建立的。顯式游標是使用者通過建立cursor的方式來建立。在oracle中有三種型別的游標 1 不帶引數的游標 eg cursor customer cur is select from customer s 2 帶引數的游標 eg ...