日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

PL/SQL游标

發(fā)布時(shí)間:2025/7/14 数据库 111 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PL/SQL游标 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

創(chuàng)建游標(biāo)
????顯示游標(biāo)必須聲明,并且在使用前要打開,使用完畢要關(guān)閉。隱式游標(biāo),無需執(zhí)行上述步驟。
????與循環(huán)結(jié)構(gòu)結(jié)合的顯式游標(biāo)處理返回多于一行的Select語句,與循環(huán)結(jié)合的游標(biāo)將允許每次處理一行。當(dāng)Select語句預(yù)計(jì)只返回一行時(shí),隱式游標(biāo)將更合適。
????顯式游標(biāo)是作為declare段中的一部分進(jìn)行定義的,所定義的SQL語句必須只包含select語句,并且不能用insert,update或delete關(guān)鍵字。當(dāng)select語句可能返回零或多于一行時(shí),就必須用顯式游標(biāo)。
使用顯式游標(biāo)時(shí),必須編寫4部分代碼:
????在PL/SQL塊的declare段中定義游標(biāo);
????在PL/SQL塊中初始begin后打開游標(biāo);
????取游標(biāo)到一個(gè)或多個(gè)變量中,在接收游標(biāo)的fetch語句中,接收變量的數(shù)目必須與游標(biāo)的select列表中的表列數(shù)目一致;
????使用完游標(biāo)后要關(guān)閉。

示例

declare fname?varchar2(10); lname?varchar2(30); ssec_num?varchar2(8); cursor?region_cur?is select?first_name,last_name,ssn from?person where?region_number?=?region_number_in; begin open?region_cur; fetch?region_cur?into?fname,lname,ssec_num; while?region_cur%found loop if?ssec_num?is?null?then insert?into?e_msg?values(pin_in,'no?ssnum'); else insert?into?e_tab?values(pin_in,sysdate); end?if; fetch?region_cur?into?fname,lname,ssec_num; end?loop; close?region_cur; end;

關(guān)于顯式游標(biāo)要注意以下幾點(diǎn)。
????用“%found”和"%notfound"檢驗(yàn)游標(biāo)成功與否。如果游標(biāo)按照其選擇條件從數(shù)據(jù)庫中查詢出一行數(shù)據(jù),則返回成功。該測(cè)試必須在游標(biāo)關(guān)閉前執(zhí)行。
????循環(huán)執(zhí)行游標(biāo)去數(shù)操作時(shí),檢索出的總數(shù)據(jù)數(shù)存放在系統(tǒng)變量"%rowcount"中。
????所有游標(biāo)必須被取至一個(gè)或多個(gè)變量(取決于游標(biāo)Select列表中的列數(shù))。
????游標(biāo)的目標(biāo)變量必須與游標(biāo)Select表中表列的數(shù)據(jù)類型一致。
????如果試圖打開一個(gè)已打開的游標(biāo)或關(guān)閉一個(gè)已關(guān)閉游標(biāo),將會(huì)出現(xiàn)錯(cuò)誤。因此,用戶在打開或關(guān)閉游標(biāo)前,若不清楚其狀態(tài),應(yīng)該用"%isopen"進(jìn)行檢查。
????如果一個(gè)PL/SQL塊中用了多個(gè)游標(biāo),那么每個(gè)游標(biāo)的名字必須唯一。

轉(zhuǎn)載于:https://my.oschina.net/yaoliyc/blog/261552

總結(jié)

以上是生活随笔為你收集整理的PL/SQL游标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。