declare
十余年的類烏齊網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整類烏齊建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“類烏齊網(wǎng)站設(shè)計(jì)”,“類烏齊網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
teacher_name varchar(20)------------跟teacher表中老師名字類型保持一致
cursor t_name is select teachername from teacher---------申明游標(biāo)t_name為從teacher表中查詢老師名字
begin
open t_name;------打開游標(biāo)t_name
loop-------開始循環(huán)(遍歷)
fetch t_name into teacher_name-------將老師名字值賦予變量teacher_name
if t_name%found-------------開始遍歷有值時(shí)插入以下數(shù)據(jù)
then
select name,count(*) into new_table
from table_teacher_student
where name=teacher_name group by name-----將一個(gè)老師名字依據(jù)條件插入新表數(shù)據(jù)
else
dmbs_output.put_line(‘完成所有工作’);---------遍歷結(jié)束時(shí)輸出完成工作
exit;
end if;
end loop;
倉(cāng)促寫下以上內(nèi)容,可能部分語法報(bào)錯(cuò),思路就是這樣,很基本的一個(gè)游標(biāo)使用。
第二段代碼是對(duì)的,
第一段代碼是錯(cuò)的,你有沒有發(fā)現(xiàn),你第一段代碼 的兩條,后一條 應(yīng)該是空值
還沒有 fetch ,不應(yīng)該判斷 cur%notfound;
在fetch后,才應(yīng)該判斷 cur%notfound;
看看你的第一段代碼:
open cur;
loop
exit when cur%notfound;
fetch cur into pname,pjob,psal;
dbms_output.put_line(pname||'的工作是'||pjob||',薪水是'||psal);
end loop;
close cur;
-- 第一輪循環(huán), fetch到值, 進(jìn)行輸出
-- 第二輪循環(huán),判斷第一輪循環(huán)是否取到值; 然后fetch, 此時(shí)如果沒有值, 你仍然進(jìn)行輸出
-- 第三輪循環(huán),判斷第二輪循環(huán)是否取到值,沒有值,退出
其實(shí)你只要一行值符合要求
1.游標(biāo)定義:
cursor XXXA is
SELECT 語句;
XXXB cursorName%rowtype;
XXXA: 游標(biāo)名
XXXB: 游標(biāo)行數(shù)據(jù)定義
2. 打開游標(biāo):
-- 打開之前最好先關(guān)一下,防止上次發(fā)生異常沒有關(guān)掉而引發(fā)不必要的異常
IF XXXA%ISOPEN THEN
CLOSE XXXA;
END IF;
Open XXXA ;
Loop
Fetch XXXA into XXXB;
exit when XXXA%NOTFOUND;
... ... 處理邏輯
end loop;
close XXXA;