a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

ORACLEPL/SQL基礎--游標的學習來源

2024-08-29 13:53:46
字體:
來源:轉載
供稿:網友
OraclePL/SQL基礎--游標的學習來源:

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

    用數據庫語言來描述:游標是映射在結果集中一行數據上的位置實體,有了游標用戶就可以訪問結果集中的任意一行數據了,將游標放置到某行后,即可對該行數據進行操作,例如提取當前行的數據等等。

    游標的分類:

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

    1.聲明游標

CURSOR mycur(vartype number) is
select emp_no,emp_zc from cus_emp_basic  
where com_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 com_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記錄看作是一個用戶自定義的數據類型。
set serveroutput on;
declare

type person is record
(
empno cus_emp_basic.emp_no%type,
empzc cus_emp_basic.emp_zc%type);

person1 person;

cursor mycur(vartype number)is
select emp_no,emp_zc from cus_emp_basic  
where com_no=vartype;

begin
if mycur%isopen = false then
open mycur(000627);
end if;

loop
fetch mycur into person1;
exit when mycur%notfound;
dbms_output.put_line(’雇員編號:’||person1.empno||’,地址:’||person1.empzc);
end loop;
close mycur;
end;


    典型游標for 循環

    游標for循環示顯示游標的一種快捷使用方式,它使用for循環依次讀取結果集中的行數據,當form循環開始時,游標自動打開(不需要open),每循環一次系統自動讀取游標當前行的數據(不需要fetch),當退出for循環時,游標被自動關閉(不需要使用close)使用游標for循環的時候不能使用open語句,fetch語句和close語句,否則會產生錯誤。


set serveroutput on;
declare


cursor mycur(vartype number)is
select emp_no,emp_zc from cus_emp_basic  
where com_no=vartype;

begin

for person in mycur(000627) loop

dbms_output.put_line(’雇員編號:’||person.emp_no||’,地址:’||person.emp_zc);
end loop;

end;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲一区二区三 | 亚洲看片网站 | 亚洲欧美日韩在线一区二区 | 精品国产乱码久久久久久闺蜜 | 四虎影视在线观看 | 日本精品视频在线观看 | 亚洲欧洲一区二区三区 | 久色| 黄色自拍视频 | 欧洲成人在线观看 | 久久免费在线观看 | 欧美人牲| 久久综合99re88久久爱 | 经典法国性xxxx精品 | 免费福利视频一区 | 成人午夜视频在线观看 | 精品亚洲区 | 日韩超级毛片 | 91亚洲精品久久久 | 欧美一级在线观看 | 日韩视频一区 | 日韩视频欧美视频 | 欧美一区 | 一区二区三区不卡视频 | 一区二区三区国产精品 | 国产精品一区在线观看你懂的 | 亚洲精品久久久久久一区二区 | 久久蜜桃av一区二区天堂 | 欧美日韩亚洲视频 | 日韩福利 | 久久久久久久久久久久福利 | 伊人av在线| 国产三区二区一区 | 日韩av在线导航 | 久久久性色精品国产免费观看 | 国产精品国产三级国产aⅴ中文 | 美女久久久久久久久久久 | 成人在线中文字幕 | 国产一级在线 | 和尚风流一级艳片 | 操片 |