隨筆 - 0, 文章 - 75, 評論 - 0, 引用 - 0
          數據加載中……

          PL/SQL

          什么是PL/SQL
          PL/SQL(Procedural
          Language/SQL)
          一種過程化語言,通過增加編程語言的特點,實現對SQL的擴展



          PL/SQL的特點
          支持所有SQL的語法
          支持case語句,方便的實現循環
          通過繼承,實現子類具有父類的屬性和方法
          設置了新的日期類型



          PL/SQL的開發環境
          Oracle數據據庫服務器
          Oracle開發工具



          PL/SQL的工作原理
          由PL/SQL引擎接收指令
          將指令傳遞給Oracle數據庫服務器執行


          PL/SQL

          PL/SQL語句塊
          PL/SQL程序是按照塊結構進行劃分
          塊是PL/SQL程序的基本單位


          DECLARE -->Declare用于聲明變量、游標


          v_name
          varchar2(30)
          := 'Jack'; --
          定義用戶名稱


          v_age
          number
          := 6; --
          定義用戶年齡


          BEGIN -->表示程序的開始


          --將用戶的姓名和年齡插入到CLUB_USER
          表中


          insert into club_user
          values
          (
          v_name,
          v_age);


          Exception


          /*當出現異常時的處理*/


          When others
          then



          DBMS_OUTPUT.PUT_LINE('
          插入數據失敗');


          END; -->End表示程序結束




          聲明
          使用declare關鍵字
          用于定義變量或者常量


          DECLARE
          variable_name
          [CONSTANT]
          type
          [NOT NULL]
          [:=value];


          聲明
          變量名 是否為常量
          變量的數據類型 是否為空 變量初始化



          變量命名規則
          變量名首字母必須是英文字母,其后可以是字母、數字或者特殊字符$、#和下劃線
          變量名長度不超過30個字符
          變量名中不能有空格



          條件結構
          IF-THEN語句:


          ---------------


          IF
          condition
          THEN


          Statements


          END
          IF;


          ---------------



          IF-THEN-ELSE語句:


          ---------------


          IF
          condition
          THEN


          Statements1


          ELSE


          Statements2


          END
          IF;


          ---------------



          條件結構
          IF-THEN-ELSIF語句


          ---------------


          IF
          condition1
          THEN


          Statements1


          ELSIF
          condition2
          THEN
          --注意是ELSIF而不是ELSEIF


          Statements2


          ELSE


          Statements3


          END
          IF;


          ---------------



          CASE語句
          在Oracle 9i 后引入


          ---------------


          CASE
          variable
          --依據variable表達式,選擇相應的when子句執行


          WHEN
          value1 THEN statements1;


          WHEN
          value2 THEN statements2;


          ……


          WHEN
          valuen
          THEN
          statementsn;


          [ELSE
          else_statements;]


          END
          CASE;


          ---------------


          例題:根據評分結果輸出評價
          DECLARE
          grade
          char:='A';
          remark
          varchar2(20);
          BEGIN
          CASE
          grade
          WHEN
          'A' THEN remark:="is
          Excellent";

          WHEN 'B' THEN remark:="is
          Good";

          WHEN 'C' THEN remark:="is
          Normal";

          WHEN 'D' THEN remark:="is
          Bad";
          ELSE
          remark:="big Problem"; --默認執行語句

          END CASE;
          END;




          循環結構:
          LOOP循環


          ----------------


          LOOP


          statements;


          END
          LOOP;


          ----------------


          實現計數器功能,當計數器為10或者大于10時退出


          DECLARE

          v_count integer := 1;
          BEGIN

          LOOP

          v_count:=v_count+1;
          IF
          v_count>=10
          THEN

          EXIT;
          END
          IF;
          END LOOP;
          END;


          ----------------




          WHILE-LOOP循環:
          類似于while循環


          ----------------



          WHILE
          conditon
          LOOP


          statements;


          END
          LOOP;


          ----------------



          FOR-LOOP循環:
          類似與for循環


          ----------------


          FOR
          loop_count
          IN
          [REVERSE]
          lower_bound..height_bound
          LOOP


          statements;


          END
          LOOP;


          ----------------


          loop_count
          -->
          循環變量


          lower_bound
          -->循環次數最小值


          height_bound
          -->
          循環次數最大值

          posted on 2012-04-22 15:57 hantai 閱讀(1230) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 康马县| 大新县| 金昌市| 谢通门县| 大洼县| 宣威市| 大安市| 商河县| 淮滨县| 两当县| 华阴市| 芮城县| 康保县| 博野县| 黑河市| 建昌县| 尉犁县| 措勤县| 宜良县| 长武县| 铅山县| 泰兴市| 海伦市| 镇巴县| 宣恩县| 东山县| 澜沧| 咸宁市| 佛学| 安远县| 山丹县| 阜南县| 施秉县| 辽宁省| 金川县| 石阡县| 屏东市| 木兰县| 彰武县| 肥西县| 大石桥市|