由於去西塘刷了幾天,斷開了,慚愧啊,今天繼續。
在寫之前,還有一點要說,就是一定要上機實踐,這樣才能真正懂其中的意思。
今天看到了PL/SQL編程這裏,那就簡單說說吧。
⒈PL/SQL程序是以塊(block)爲基本單位的,分爲三個部分:
①聲明部分(declare);②執行部分(begin);③異常處理部分(exception).
[declare]
--聲明,可選
begin
--執行,必選
[exception]
--異常處理,可選
end
說明:⑴聲明部分用到的變量,常量和遊標等,只能在當前塊使用;
⑵執行部分結束方式通常有兩種:若出現異常,執行異常處理後結束,否則以關鍵字end束; ⑶每一條語句必須以分號結束。
⒉數據類型、常量和變量
⑴數值類型:number:pls_integer,binary_integer...
⑵字符:varchar(變長),char(max=32767Byte),long(max=2GB),nvarchar2...
⑶日期:date(7個字節)
⑷布爾:boolean
⑸特殊數據類型:
①%type---聲明一個與指定列名相同的數據類型,緊跟指定列名之後;
②record---可存儲由多個列值組成的一行數據
type record_type is record
(
var_member1 data_type [not null][:=default_value],
...);
③%rowtype---%type和record的結合
rowVar_name table_name%rowtype
⒊流程控制語句
⑴選擇語句
①if...then
②if...then...else
③if...then...elsif
④case <selector>
when <expression1> then plsql_sent1;
when <expression2> then plsql_sent2;
...
end case;
⑵循環語句
①loop
plsql_sentence;
exit when end_condition;
end;
②while condition loop
plsql_sentence;
end loop;
③for variable_counter_name in [reverse] lower_limit...upper_limit loop
plsql_sentence;
end loop;
⒋PL/SQL遊標
⑴顯示遊標
①聲明:cursor cur_name[(input_para1[,input_para2]...)]
[return ret_type]
is select_sentence;
②打開:open cur_name[(para_value1[,para_value2]...)];
③讀取:fetch cur_name into{variable};
④關閉:close cur_name;
⑵遊標屬性
%found:boolean,如果SQL語句至少影響到一行數據,返回true;
%rowcount:數字型,受SQL影響的行數;
%isopen:遊標打開返回true
⑶隱式遊標
處理數據操縱語句的執行結果。
⑷通過for循環遊標
①遍歷隱式遊標中數據時,通常在關鍵字in後提供有select檢索的結果集,在檢索過程中,oracle會自動提供一個隱式的遊標sql;
②遍歷顯示遊標中數據時,在in後提供遊標名稱,在使用遊標的for循環中,可以聲明遊標,但不用進行打開、讀取和關閉遊標操作,這些由oracle系統內部完成。編程
。。。。。。