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;?