Oracle基礎學習之PL/SQL編程

   由於去西塘刷了幾天,斷開了,慚愧啊,今天繼續。

   在寫之前,還有一點要說,就是一定要上機實踐,這樣才能真正懂其中的意思。

   今天看到了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系統內部完成。編程


 。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章