在oracle中,遊標是SQL的一個記憶體工作區,由系統或使用者以變數的形式定義,用於暫時儲存從資料庫中提取的資料區塊;資料從資料庫傳送到遊標變數中後,應用程式再從遊標變數中分解出所需的數據,並進行處理。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
1.遊標的使用。看到的一段解釋很好的概念,如下:
遊標是SQL的記憶體工作區,由系統或使用者以變數的形式定義。遊標的作用就是用來暫時儲存從資料庫中提取的資料塊。在某些情況下,需要把資料從存放在磁碟的表中調到電腦記憶體中處理,最後將處理結果顯示出來或最終寫回資料庫。這樣資料處理的速度才會提高,否則頻繁的磁碟資料交換會降低效率。
遊標有兩種:明確遊標和隱含遊標。在前述程式中用到的SELECT...INTO...查詢語句,一次只能從資料庫中提取一行數據,對於這種形式的查詢和DML操作,系統都會使用一個隱式遊標。但是如果要提取多行數據,就要由程式設計師定義一個明確遊標,並透過與遊標有關的語句進行處理。明確遊標對應一個傳回結果為多行多列的SELECT語句。
遊標一旦打開,資料就從資料庫傳送到遊標變數中,然後應用程式再從遊標變數中分解出所需的數據,並進行處理。在我們進行insert、update、delete和select value into variable 的操作中,所使用的是隱式遊標。
隱含遊標的屬性 傳回值類型意義 :
SQL%ROWCOUNT 整數 代表DML語句成功執行的資料行數
2.隱含遊標:
create or replace procedure prc_example (epo in number) as BEGIN UPDATE emp SET sal=sal+100 WHERE empno=epo; IF SQL%FOUND THEN DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!'); COMMIT; ELSE DBMS_OUTPUT.PUT_LINE('修改雇员工资失败!'); END IF; END; declare e_number number; begin e_number:=7788; prc_example(e_number); end;
3.顯示遊標:
Oracle影片教學###》###以上是oracle預存程序的遊標是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!