詳解Oracle隱式游標(biāo)和顯式游標(biāo)
游標(biāo)是什么?就是在內(nèi)存開辟的一塊臨時存儲空間。
1.Oracle隱式游標(biāo)
1.1Oracle有常用的哪些隱式游標(biāo)
1.2 Oracle隱式游標(biāo)演示
-- 隱式游標(biāo) (使用的表為Oracle默認(rèn)自帶的emp表) -- sql%rowcount:影響記錄條數(shù) sql%found:是否有滿足條件的記錄 set serveroutput on; declare v_ename a_emp.ename%type; begin select ename into v_ename from a_emp where empno=7788; if sql%found then dbms_output.put_line(v_ename); dbms_output.put_line(sql%rowcount); end if; end; /
因此,我們所有都數(shù)據(jù)庫的操作都是存在游標(biāo)的。
--------------------------------------------------------------------------------
2.Oracle顯式游標(biāo)
2.1顯式游標(biāo)語法
cursor 游標(biāo)名稱 is 選擇語句;


2.2Oracle顯式游標(biāo)演示
-- 顯式游標(biāo)
declare
-- 創(chuàng)建一個游標(biāo)
cursor cursor_a_emp is select empno,ename from a_emp;
-- 其他變量
v_empno a_emp.empno%type; --員工編號
v_ename a_emp.ename%type; --員工姓名
v_rowcount number; -- 員工人數(shù)
begin
-- 打開游標(biāo)
open cursor_a_emp;
-- 計算游標(biāo)中存儲記錄的條數(shù)
select count(*) into v_rowcount from emp;
-- 循環(huán)取出游標(biāo)中的數(shù)據(jù)
for i in 1..v_rowcount loop
fetch cursor_a_emp into v_empno,v_ename;
dbms_output.put_line(v_empno);
dbms_output.put_line(v_ename);
dbms_output.put_line('=============================');
end loop;
-- 關(guān)閉游標(biāo)
close cursor_a_emp;
end;
/
游標(biāo)就是相當(dāng)于一個臨時表,并將這個表存儲在內(nèi)存中,使用完了就會釋放掉。
2.3顯式游標(biāo)屬性

以上所述是小編給大家介紹的Oracle隱式游標(biāo)和顯式游標(biāo)知識,希望對大家有所幫助,如果大家有任何問題歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
Oracle11g數(shù)據(jù)庫win8.1系統(tǒng)安裝配置圖文教程
這篇文章主要介紹了 Oracle11g數(shù)據(jù)庫win8.1系統(tǒng)安裝配置圖文教程的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
Oracle刪除數(shù)據(jù)報ORA 02292錯誤的巧妙解決方法
這篇文章主要介紹了Oracle刪除數(shù)據(jù)報ORA 02292錯誤的巧妙解決方法,需要的朋友可以參考下2017-07-07
oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個數(shù)據(jù)庫打不開的解決方法
這篇文章主要給大家介紹了關(guān)于oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個數(shù)據(jù)庫打不開問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。2017-10-10
Oracle與SQL Server在企業(yè)應(yīng)用的比較
Oracle與SQL Server在企業(yè)應(yīng)用的比較...2007-03-03

