游標(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ù)大家的!
您可能感興趣的文章:- 詳解Oracle游標(biāo)的簡易用法
- Oracle游標(biāo)的使用實例詳解
- Oracle中游標(biāo)Cursor基本用法詳解
- Oracle中的游標(biāo)和函數(shù)詳解
- Oracle出現(xiàn)超出打開游標(biāo)最大數(shù)的解決方法
- Oracle顯示游標(biāo)的使用及游標(biāo)for循環(huán)
- Oracle存儲過程返回游標(biāo)實例詳解
- Oracle 游標(biāo)使用總結(jié)
- oracle 在一個存儲過程中調(diào)用另一個返回游標(biāo)的存儲過程
- Oracle游標(biāo)使用參考語句實例解析