Oracle存儲過程語法

1.運算符

分類? ? ? ? ? ? ? ? ? ?運算符? ? ? ? ? ? ? ? ? ? 含義? ? ? ? ? ? ? ? ? ? 示例表達式

算術(shù)運算符? ? ? ? +? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 加? ? ? ? ? ? ? ? ? ? ? s := 2 + 2;

? ? ? ? ? ? ? ? ? ? ? ? ? -? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?減? ? ? ? ? ? ? ? ? ? ? s := 3 – 1;

? ? ? ? ? ? ? ? ? ? ? ? ? *? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?乘? ? ? ? ? ? ? ? ? ? ? s := 2 * 3;

? ? ? ? ? ? ? ? ? ? ? ? ? /? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 除? ? ? ? ? ? ? ? ? ? ? s := 6 / 2;

? ? ? ? ? ? ? ? ? ? ? ? mod(,)? ? ? ? ? ? ? ? ? ? ? ? 取模棋蚌,取余? ? ? ? m : = mod(3,2)

? ? ? ? ? ? ? ? ? ? ? ? **? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 乘方? ? ? ? ? ? ? ? ? 10**2 =100???

關(guān)系運算符? ? ? =? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?等于? ? ? ? ? ? ? ? ? ?s = 2

? ? ? ? ? ? ? ? ? ? ? ?<>或!=或~=? ? ? ? ? ? ? ? ?不等于? ? ? ? ? ? ? ? s != 2

? ? ? ? ? ? ? ? ? ? ? ?<? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 小于? ? ? ? ? ? ? ? ? ?s < 3

? ? ? ? ? ? ? ? ? ? ? >? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?大于? ? ? ? ? ? ? ? ? ?s > 0

? ? ? ? ? ? ? ? ? ? ?<=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?小于等于? ? ? ? ? ? ?s <= 9

? ? ? ? ? ? ? ? ? ? ?>=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?大于等于? ? ? ? ? ? ?s >= 1??

比較運算符? ?LIKE? ? ? ? ? ? ? ? ? ? ? ? ? ? ?滿足匹配為true‘li’ like ‘%i’返回true

? ? ? ? ? ? ? ? ? ? BETWEEN? ? ? ? ? ? ? ? ? ?是否處于一個范圍中2 between 1 and 3 返回true

? ? ? ? ? ? ? ? ? ? IN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?是否處于一個集合中‘x’ in (‘x’,’y’) 返回true

? ? ? ? ? ? ? ? ? ? IS NULL? ? ? ? ? ? ? ? ? ? ? ?判斷變量是否為空若:n:=3,n is null,返回false? ?

邏輯運算符? AND? ? ? ? ? ? ? ? ? ? ? ? ? ? ?邏輯與? ? ? ? ? ? ? ?s=3 and c is null

? ? ? ? ? ? ? ? ? ? OR? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?邏輯或? ? ? ? ? ? ? ? s=3 or c is null

? ? ? ? ? ? ? ? ? ?NOT? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 邏輯非? ? ? ? ? ? ? ? not c is null? ?

其他? ? ? ? ? ? :=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?賦值? ? ? ? ? ? ? ? ? ?s := 0;

? ? ? ? ? ? ? ? ? ? ..? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?范圍? ? ? ? ? ? ? ? ? ?1..9,即1至9范圍

? ? ? ? ? ? ? ? ? ?||? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串連接? ? ? ? ‘hello’||’world’?


2.選擇語句

1.if語句? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IF s_sex=1 THEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dbms_output.put_line('這個學(xué)生是男生');? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ENDIF
2.if...else語句? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??IF s_sex=1 THEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dbms_output.put_line('這個學(xué)生是男生');? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ELSE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dbms_output.put_line('這個學(xué)生是女生');? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? END IF


3.循環(huán)語句

a.基本循環(huán)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?LOOP? IF 表達式 THEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?EXIT;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?END IFEND LOOP;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? b.while循環(huán)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?WHILE 表達式 LOOP? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dbms_output.put_line('haha');? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?END LOOP;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? c.for循環(huán)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?FOR a in 10 .. 20 LOOP? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dbms_output.put_line('value of a: ' || a);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?END LOOP;


4.游標設(shè)定

a.下表是常用的游標屬性:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 屬性? ? ? ? ? ? ? ? ? ? ? ?描述? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%FOUND? ? ? ? ? ? ? 如果DML語句執(zhí)行后影響有數(shù)據(jù)被更新或DQL查到了結(jié)果荞彼,返回true干跛。否? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?則录肯,返回false。

%NOTFOUND? ? ? ?如果DML語句執(zhí)行后影響有數(shù)據(jù)被更新或DQL查到了結(jié)果,返回false荐糜。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?否則,返回true葛超。

%ISOPEN? ? ? ? ? ? ? 游標打開時返回true情组,反之披蕉,返回false。

%ROWCOUNT? ? ? 返回DML執(zhí)行后影響的行數(shù)。?

b.使用游標? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.聲明游標定義游標的名稱和相關(guān)的SELECT語句:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CURSOR cur_cdd IS SELECT s_id, s_name FROM student;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.打開游標游標分配內(nèi)存脐供,使得它準備取的SQL語句轉(zhuǎn)換成它返回的行:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? OPEN cur_cdd;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.抓取游標中的數(shù)據(jù),可用LIMIT關(guān)鍵字來限制條數(shù)卖陵,如果沒有默認每次抓取一條:? ? ? ? ? ? ? ? ? ? FETCH cur_cdd INTO id, name ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4.關(guān)閉游標來釋放分配的內(nèi)存:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CLOSE cur_cdd;?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末儡嘶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芜飘,更是在濱河造成了極大的恐慌务豺,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗦明,死亡現(xiàn)場離奇詭異笼沥,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門奔浅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馆纳,“玉大人,你說我怎么就攤上這事汹桦÷呈唬” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵舞骆,是天一觀的道長钥弯。 經(jīng)常有香客問我,道長葛作,這世上最難降的妖魔是什么寿羞? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮赂蠢,結(jié)果婚禮上绪穆,老公的妹妹穿的比我還像新娘。我一直安慰自己虱岂,他們只是感情好玖院,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著第岖,像睡著了一般难菌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔑滓,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天郊酒,我揣著相機與錄音,去河邊找鬼键袱。 笑死燎窘,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蹄咖。 我是一名探鬼主播褐健,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼澜汤!你這毒婦竟也來了蚜迅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤俊抵,失蹤者是張志新(化名)和其女友劉穎谁不,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體务蝠,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拍谐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年烛缔,在試婚紗的時候發(fā)現(xiàn)自己被綠了馏段。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轩拨。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖院喜,靈堂內(nèi)的尸體忽然破棺而出亡蓉,到底是詐尸還是另有隱情,我是刑警寧澤喷舀,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布砍濒,位于F島的核電站,受9級特大地震影響硫麻,放射性物質(zhì)發(fā)生泄漏爸邢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一拿愧、第九天 我趴在偏房一處隱蔽的房頂上張望杠河。 院中可真熱鬧,春花似錦浇辜、人聲如沸券敌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽待诅。三九已至,卻和暖如春熊镣,著一層夾襖步出監(jiān)牢的瞬間卑雁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工绪囱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留测蹲,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓毕箍,卻偏偏與公主長得像弛房,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子而柑,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345