隨筆 - 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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 阜平县| 托里县| 芮城县| 苏尼特右旗| 来凤县| 浦东新区| 习水县| 固镇县| 顺义区| 开封县| 吉木萨尔县| 兰西县| 潜江市| 思南县| 都匀市| 潮安县| 齐齐哈尔市| 高唐县| 琼中| 新竹县| 陇西县| 茂名市| 泰和县| 壶关县| 潼关县| 弥勒县| 长春市| 靖远县| 叶城县| 方正县| 松潘县| 保亭| 金乡县| 林甸县| 长岛县| 四川省| 博湖县| 永宁县| 杂多县| 武清区| 彰化县|