日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應(yīng)用 > [置頂] Oracle游標―for、loop、if結(jié)合應(yīng)用

[置頂] Oracle游標―for、loop、if結(jié)合應(yīng)用

來源:程序員人生   發(fā)布時間:2015-05-04 10:21:55 閱讀次數(shù):4469次


1、需求


甚么時候會用到Oracle游標,和其中的for、loop、if呢?

先看這樣1個需求:

有1張學(xué)生授課表T_TEACHING,每一個學(xué)生都有數(shù)門課程:

主鍵ID(自增)
課程號COURSE_ID
學(xué)號USER_ID
1
01
201501
2
02
201501
3
03
201501
4
01
201502
5
01
201503
6
01
201504
7
02
201504
...
...
...

但是由于某些緣由,致使有的學(xué)生課程不全(本應(yīng)當每一個學(xué)生都有3門課),應(yīng)當如何把不全的學(xué)生檢索出來,再給這些學(xué)生添加課程呢,并且要求能夠快速解決這個問題。


2、分析


我們對需求進行1步步梳理:

1、我們不知道哪一個學(xué)生課程不全,所以需要循環(huán)判斷每一個學(xué)生

通經(jīng)常使用for循環(huán):for USER_ID in USER_IDS

2、循環(huán)判斷每一個學(xué)生就要拿到所有的學(xué)號

select:select USER_ID from  T_TEACHING GROUP BY USER_ID;

3、有了學(xué)號,判斷這個學(xué)生是不是缺少課程,然后添加這門課

(1)select:select count(*) from T_TEACHING where USER_ID=@USER_ID and COURSE_ID=@COURSE_ID;

(2)if else 判斷

(3)insert:insert into T_TEACHING(COURSE_ID,USER_ID) values (@COURSE_ID,@USER_ID)

通過分析大致的流程出來了,然后再看細節(jié):

我們通過select ..GROUP BY獲得了授課表中所有的學(xué)號,然后就對這些學(xué)號進行循環(huán)獲得,關(guān)鍵在于select ..GROUP BY出來如何循環(huán)獲得。


3、方法


在oracle中提供了“游標”

  游標是甚么,游標用來處理從數(shù)據(jù)庫中檢索的多行記錄(使用SELECT語句)。利用游標,程序可以逐一地處理和遍歷1次檢索返回的全部記錄集。

這正是我們想要的!!

結(jié)合for循環(huán),我們可使用for循環(huán)游標,格式以下:

--(1)定義游標 --關(guān)鍵字cursor cursor x is select語句  --(2)定義游標變量   y x%rowtype --(3)使用for循環(huán)來使用這個游標 for y in x loop --邏輯處理 end loop;

下面我們通過sql存儲進程來完全的實現(xiàn)上面的需求

declare --定義類型  cursor t_tea is select USER_ID from T_TEACHING GROUP BY USER_ID; --定義1個游標變量  t_row t_tea%rowtype; --定義1個number類型的臨時變量     v_count number; begin for t_row in t_tea loop     select count(*) into v_count from T_TEACHING where USER_ID=t_row.USER_ID and COURSE_ID=02;      if v_count = 0 then        insert into T_TEACHING(COURSE_ID,USER_ID) values (02,t_row.USER_ID);      end if;        end loop; end;



4、總結(jié)

  

  oracle中的游標循環(huán)不只有for循環(huán),oracle中提供了兩種游標,顯示游標和隱式游標,其他游標的使用方式可以在這里了解,用到了在深入研究:http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html




生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲免费观看 | 国产福利视频在线 | 99精品久久99久久久久 | 久久大陆 | 免费黄色大片 | 天堂在线中文字幕 | 一区影院| 99色网站| 成人黄色一级视频 | 欧美精品综合 | 国产综合一区二区 | www.国产精| 三级视频网 | 男女爱爱免费视频 | 夜夜春精品 | 成人播放 | 亚洲精品高清在线 | 久久精品亚洲国产 | 亚洲一区二区三区影院 | 91国内精品久久 | 国产 日韩 欧美 在线 | 亚洲激情自拍偷拍 | 成人亚洲一区 | 亚洲国产精品成人 | 不卡一区二区三区四区 | 欧美国产日韩一区二区 | 精品视频久久久久久 | 中文字幕国产一区 | 99在线免费观看 | 黄色免费在线视频 | 99精品视频在线观看 | 欧美一区免费 | 天天干91| 91亚洲成人 | 国产69精品久久久久777 | 中文字幕+乱码+中文字 | 最近最新2019免费中文视频 | 久久久免费精品 | 亚洲二区视频 | 国产男女av | 26uuu色噜噜精品一区二区 |