ORACLE PL SQL 基礎2 游標的學習

2021-03-31 08:56:30 字數 1715 閱讀 3529

游標學習

一》 游標是什麼:

游標字面理解就是游動的游標。

用資料庫語言來描述:游標是對映在結果集中一行資料上的位置實體,有了游標

使用者就可以訪問結果集中的任意一行資料了,將游標放置到某行後,即可對該行資料進行操作,例如提取當前

行的資料等等。

二》 游標的分類:

顯式游標和隱式游標

顯示游標的使用需要4步:

1.宣告游標

cursor mycur(vartype number) is

select emp_no,emp_zc from cus_emp_basic

where ***_no = vartype;

2.開啟游標

open mycur(000627)         注:000627:引數

3.讀取資料

fetch mycur into varno,varprice;

4.關閉游標

close mycur;

三》 游標的屬性

oracle 游標有4個屬性: %isopen , %found , %notfound, %rowcount

%isopen 判斷游標是否被開啟,如果開啟%isopen 等於true,否則等於false

%found  %notfound 判斷游標所在的行是否有效,如果有效,則%foundd等於true,否則等於false

%rowcount 返回當前位置為止游標讀取的記錄行數。

四》 示例:

set serveroutput on;

declare

varno varchar2(20);

varprice varchar2(20);

cursor mycur(vartype number) is

select emp_no,emp_zc from cus_emp_basic

where ***_no = vartype;

begin

if mycur%isopen = false then

open mycur(000627);

end if;

fetch mycur into varno,varprice;

while mycur%found

loop

dbms_output.put_line(varno||','||varprice);

if mycur%rowcount=2 then

exit;

end if;

fetch mycur into varno,varprice;

end loop;

close mycur;

end;

pl/sql 記錄 的結構和c語言中的結構體類似,是由一組資料項構成的邏輯單元。

pl/sql 記錄並不儲存再資料庫中,它與變數一樣,儲存再記憶體空間中,在使用記錄時候,要首先定義記錄結構

,然後宣告記錄變數。可以把pl/sql記錄看作是乙個使用者自定義的資料型別。

典型游標for 迴圈

游標for迴圈示顯示游標的一種快捷使用方式,它使用for迴圈依次讀取結果集中的行

資料,當form迴圈開始時,游標自動開啟(不需要open),每迴圈一次系統自動讀取

游標當前行的資料(不需要fetch),當退出for迴圈時,游標被自動關閉(不需要使用close)

使用游標for迴圈的時候不能使用open語句,fetch語句和close語句,否則會產生錯誤。

Oracle pl sql基礎 迴圈

一 迴圈語法以及用法 1 loop的語法以及用法,如下 loop 處理程式 end loop 例子 declare v counter binary integer 1 定義變數 begin loop dbms output.put line v counter v counter v counte...

Oracle PL SQL語言基礎 控制語句

預定義異常種類 異常處理 異常說明 access into null 在未初始化物件時出現 case not founf 在case 語句中的選項與使用者輸入的資料不匹配時出現 collection is null 在給尚未初始化的表或陣列賦值時出現 cursor already open 使用者試...

oracle PL SQL程式設計基礎知識

在oracle中使用pl sql來擴充套件sql的功能,使得sql能夠更加的靈活,功能更加強大,效率更高。pl sql讓sql也能執行判斷,迴圈等操作。主要記錄一下pl sql的基本語法和基本條件判斷語句和迴圈語句供忘記了方便查閱。1.pl sql的語法結構 declare 這部分用於宣告變數 be...