mysql plsql cursor_Oracle--plsql游标创建和使用
游標(cursor)是Oracle系統在內存中開辟的一個工作區,在其中存放SELECT語句返回的查詢結果。,PL/SQL隱式建立并自動管理這一游
為什么要Oracle游標:
先看這個:
DECLARE
v_empno emp.empno%type;
v_ename emp.ename%type;
BEGIN
SELECT empno,ename
into v_ename,v_empno
FROM emp;
dbms_output.put_line(v_empno||' '||v_ename);
END;
這個SELECT語句可能返回多條記錄,所以這個賦值語句可能是錯誤的。所以游標可以發揮作用了。
什么是游標?
游標(cursor)是Oracle系統在內存中開辟的一個工作區,在其中存放SELECT語句返回的查詢結果。
游標的分類:
隱式游標:PL/SQL隱式建立并自動管理這一游標。隱式游標也叫做SQL游標。 對于SQL游標,不能對其顯式地執行OPEN、CLOSE和FETCH語句,,但是可以使用游標屬性從最近執行的SQL語句中獲取信息。
顯式游標:由程序員顯式說明及控制,用于從表中取出多行數據,并將多行數據一行一行單獨處理。
隱式游標:
由Oracle在內部聲明
由Oracle自行管理游標
可以使用游標屬性從最近執行的SQL語句中獲取信息
用于處理DML語句以及返回單行的查詢
隱式游標屬性:
隱式游標舉例:
VARIABLE rows_deleted VARCHAR2(30)
DECLARE
v_deptno NUMBER := 20;
BEGIN
DELETE FROM emp
WHERE deptno = v_deptno;
:rows_deleted := (SQL%ROWCOUNT ||' rows deleted.');
END;
/
返回所刪除行的數量
顯式游標:由用戶顯式聲明,查詢返回多行記錄
使用游標時,select語句查詢的結果可以是單條記錄,多條記錄,也可以是零條記錄。
游標工作區中,存在著一個指針(POINTER),在初始狀態它指向查詢結果的首記錄。
要訪問查詢結果的所有記錄,可以通過FETCH語句,進行指針的移動來實現。
使用游標進行操作,包括定義游標、打開游標、提取數據以及關閉游標幾步。
更多Oracle相關信息見Oracle 專題頁面 ?tid=12
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的mysql plsql cursor_Oracle--plsql游标创建和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专业音频如何把电平转换成dbu_谭俊峰|
- 下一篇: mysql5.6 python_Cent