oracle遊標是資料庫中一個命名的工作區,當遊標被聲明後,他就與一個固定的SQL想關聯,在編譯時刻是已知的,是靜態的.它永遠指向一個相同的查詢工作區.
遊標變數可以在執行時刻與不同的SQL語句關聯,在執行時可以取不同的SQL語句.它可以引用不同的工作區.
oracle遊標和遊標變數是不能相互代替的.
如何定義遊標型別
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
宣告遊標變數
cursor_name ref_type_name;
ref_type_name 是後面宣告遊標變數時要用到的我們的遊標型別(自定義遊標型別,即CURSOR是系統預設的,ref_type_name是我們定義的 );return_type代表資料庫表中的一行,或一個記錄型別
TYPE ref_type_name IS REF CURSOR RETURN employee%TYPE
RETURN 是可選的,如果有是強型別,可以減少錯誤,如果沒有return是弱引用,有較好的靈活性.
不能在包頭裡面宣告遊標變數,注意,但可以定義遊標型別,要注意這二者的區別.
可以宣告遊標變數作為函式或過程的形式引數.
%TYPE一個列型別
%ROWTYPE行型別
控制oracle遊標變數
OPEN-FOR(開啟遊標變數,與多行查詢連線起來) FETCH(從結果集中取行資料),close(關閉遊標變數)
BULK COLLECT子句將遊標變數中的行一次性提取到一個集合中.
oracle遊標是資料庫中一個命名的工作區,當遊標被聲明後,他就與一個固定的SQL想關聯,在編譯時刻是已知的,是靜態的.它永遠指向一個相同的查詢工作區.
遊標變數可以在執行時刻與不同的SQL語句關聯,在執行時可以取不同的SQL語句.它可以引用不同的工作區.
oracle遊標和遊標變數是不能相互代替的.
如何定義遊標型別
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
宣告遊標變數
cursor_name ref_type_name;
ref_type_name 是後面宣告遊標變數時要用到的我們的遊標型別(自定義遊標型別,即CURSOR是系統預設的,ref_type_name是我們定義的 );return_type代表資料庫表中的一行,或一個記錄型別
TYPE ref_type_name IS REF CURSOR RETURN employee%TYPE
RETURN 是可選的,如果有是強型別,可以減少錯誤,如果沒有return是弱引用,有較好的靈活性.
不能在包頭裡面宣告遊標變數,注意,但可以定義遊標型別,要注意這二者的區別.
可以宣告遊標變數作為函式或過程的形式引數.
%TYPE一個列型別
%ROWTYPE行型別
控制oracle遊標變數
OPEN-FOR(開啟遊標變數,與多行查詢連線起來) FETCH(從結果集中取行資料),close(關閉遊標變數)
BULK COLLECT子句將遊標變數中的行一次性提取到一個集合中.