一 游標(biāo)是什么
創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元海鹽做網(wǎng)站,已為上家服務(wù),為海鹽各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
游標(biāo)字面理解就是游動的光標(biāo)。
用數(shù)據(jù)庫語言來描述:游標(biāo)是映射在結(jié)果集中一行數(shù)據(jù)上的位置實(shí)體,有了游標(biāo),用戶就可以訪問結(jié)果集中的任意一行數(shù)據(jù)了,將游標(biāo)放置到某行后,即可對該行數(shù)據(jù)進(jìn)行操作,例如提取當(dāng)前行的數(shù)據(jù)等。
二 游標(biāo)的分類
顯式游標(biāo)和隱式游標(biāo)
顯式游標(biāo)的使用需要4步:
1. 聲明游標(biāo)
CURSOR mycur(vartype number) is
select emp_no,emp_zc from cus_emp_basic
where com_no = vartype;
2. 打開游標(biāo)
open mycur(000627)
注:000627是參數(shù)
3. 讀取數(shù)據(jù)
fetch mycur into varno, varprice;
4. 關(guān)閉游標(biāo)
close mycur;
三 游標(biāo)的屬性
oracle 游標(biāo)有4個屬性:%ISOPEN,%FOUND,%NOTFOUND,%ROWCOUNT。
%ISOPEN判斷游標(biāo)是否被打開,如果打開%ISOPEN等于true,否則等于false;
%FOUND %NOTFOUND判斷游標(biāo)所在的行是否有效,如果有效,則%FOUNDD等于true,否則等于false;
%ROWCOUNT返回當(dāng)前位置為止游標(biāo)讀取的記錄行數(shù)。
四 示例
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記錄的結(jié)構(gòu)和C語言中的結(jié)構(gòu)體類似,是由一組數(shù)據(jù)項(xiàng)構(gòu)成的邏輯單元。
PL/SQL記錄并不保存在數(shù)據(jù)庫中,它與變量一樣,保存在內(nèi)存空間中,在使用記錄時候,要首先定義記錄結(jié)構(gòu),然后聲明記錄變量。可以把PL/SQL記錄看作是一個用戶自定義的數(shù)據(jù)類型。
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;
典型游標(biāo)for 循環(huán)
游標(biāo)for循環(huán)示顯示游標(biāo)的一種快捷使用方式,它使用for循環(huán)依次讀取結(jié)果集中的行數(shù)據(jù),當(dāng)form循環(huán)開始時,游標(biāo)自動打開(不需要open),每循環(huán)一次系統(tǒng)自動讀取游標(biāo)當(dāng)前行的數(shù)據(jù)(不需要fetch),當(dāng)退出for循環(huán)時,游標(biāo)被自動關(guān)閉(不需要使用close)。使用游標(biāo)for循環(huán)的時候不能使用open語句,fetch語句和close語句,否則會產(chǎn)生錯誤。
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;
Oracle中的游標(biāo)分為顯示游標(biāo)和隱式游標(biāo)。
顯示游標(biāo):
顯示游標(biāo)是用cursor...is命令定義的游標(biāo),它可以對查詢語句(select)返回的多條記錄進(jìn)行處理;顯示游標(biāo)的操作:打開游標(biāo)、操作游標(biāo)、關(guān)閉游標(biāo);
隱式游標(biāo):
隱式游標(biāo)是在執(zhí)行插入(insert)、刪除(delete)、修改(update)和返回單條記錄的查詢(select)語句時由PL/SQL自動定義的。PL/SQL隱式地打開SQL游標(biāo),并在它內(nèi)部處理SQL語句,然后關(guān)閉它。
按右ctrl鍵可以切換鍵鼠的兩種狀態(tài),即虛擬機(jī)模式和真實(shí)電腦模式。在運(yùn)行的窗口上方,設(shè)備,安裝增強(qiáng)功能,把增強(qiáng)功能安裝了就能不按切換鍵自由切換狀態(tài)了。
virtualbox設(shè)置鼠標(biāo)在物理機(jī)和虛擬機(jī)間切換:
1.修改切換熱鍵:
在運(yùn)行的虛擬機(jī)上點(diǎn)擊“管理”——“全局設(shè)定”。
在“全局設(shè)定”中選擇“熱鍵”,默認(rèn)使用右ctrl鍵讓鼠標(biāo)離開虛擬機(jī)。
按一下CTRL+ALT鍵,就設(shè)置為和vmware一樣的操作了。
2.鼠標(biāo)自動切換:
點(diǎn)擊“設(shè)備”——“安裝增強(qiáng)功能”。
點(diǎn)擊“運(yùn)行”,出現(xiàn)安裝界面,等待安裝完成,按回車退出安裝界面。
將境強(qiáng)功能iso鏡像彈出光驅(qū)即可。
有時候,可能會提示需要下載增強(qiáng)功能包,直接點(diǎn)擊下載,根據(jù)提示進(jìn)行操作即可。
注意:SQLPLUS 下無法使用方向鍵! 使用 list l ; 這種來查看你提交的最近一個SQL 你可以用 c /form/from來更改。 或者右鍵-》標(biāo)記——》復(fù)制-粘貼來快速編輯。
光標(biāo)也被稱為游標(biāo)。Oracle 使用兩種光標(biāo):顯示光標(biāo)和隱式光標(biāo)。不管語句返回多少條紀(jì)錄, PL/SQL 為使用的每一條 UPDATE 、 DELETE 和 INSERT 等 SQL 命令隱式的聲明一個光標(biāo)。
當(dāng)你在一個文本框或某種程序中輸入文字時,總有一個光標(biāo)來顯示你將要輸入文字的位置。大部分的光標(biāo)都為一個小豎線,規(guī)則的閃動.而在DOS下有些光標(biāo)則是短短的小橫線,同樣規(guī)則的閃動.現(xiàn)用的windows光標(biāo)是一個圖像,可以是動態(tài)的也可以是靜態(tài)的,在不同情況下樣子也不同。
擴(kuò)展資料:
光標(biāo)的應(yīng)用
(要管理 SQL 語句的處理,必須隱式的給它定義一個光標(biāo)。)用戶聲明并使用顯示光標(biāo)處理 SELECT 語句返回的多條記錄。顯示的定義光標(biāo)是一種結(jié)構(gòu),它使用戶能夠?yàn)樘囟ǖ恼Z句指定內(nèi)存區(qū)域,以便以后使用。
當(dāng) PL/SQL 光標(biāo)查詢返回多行數(shù)據(jù)時,這些記錄組被稱為活動集。 Oracle 將這種活動集存儲在您創(chuàng)建的顯示定義的已命名的光標(biāo)中。
Oracle 光標(biāo)是一種用于輕松的處理多行數(shù)據(jù)的機(jī)制,沒有光標(biāo), Oracle 開發(fā)人員必須單獨(dú)地、顯示地取回并管理光標(biāo)查詢選擇的每一條記錄。光標(biāo)的另一項(xiàng)功能事,它包含一個跟蹤當(dāng)前訪問的記錄的指針,這使您的程序能夠一次處理多條記錄。
在windows下用鍵盤上的左右鍵可以進(jìn)行光標(biāo)移動,上下鍵可以調(diào)出最近執(zhí)行過的SQL。
但在linux下是不行的。
分享題目:Oracle如何切換光標(biāo),如何切換光標(biāo)顯示
文章分享:http://vcdvsql.cn/article6/hspcog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、外貿(mào)建站、微信公眾號、網(wǎng)站內(nèi)鏈、服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)