PL/SQL基礎語法入門

守望陽光01發表於2017-08-03

先前安裝了PL/SQL軟體


PL/SQL全稱為Procedural Language/SQL。


PL/SQL也是一種程式語言,叫做過程化SQL語言,是Oracle資料庫對SQL語句的擴充套件


打PL/SQL軟體後


新建Command Window


輸入ed便會開啟一個編輯框。ed全稱估計為Editr的縮寫


PL/SQL程式結構分為3部分,共四個關鍵字:declare,begin,exception和end


四個關鍵詞正好將程式結構分成三部分。


declare:宣告部分,程式中所需要的變數或者常量都在此宣告,類似於Java類中的成員變數與常量
begin:程式入口,程式開始執行的地方,相當於C語言中main()函式位置
exception:異常處理部分,相當於Java異常處理中的try...catch.  PL/SQL中使用的是when...then...異常處理部分也可巢狀
end:程式結束部分
程式框架如下:


declare
--變數宣告部分
begin
--程式開始入口
exception
--異常處理部分
end;
--程式結束


--為註釋符  相當於java中的行註釋 //
首先開始一門語言的學習,第一個簡單程式當然就是helloworld。


步驟如下:


1.在PL/SQL軟體中新建了Command Window後 輸入ed 然後回車,開啟e編輯器


2.在編輯器中輸入如下程式碼:


begin
    dbms_output.put_line('helloword!');
end;


3.點選ok後輸入 / 然後回車,若沒有錯誤則會在螢幕中列印出helloworld! 字串


需要注意的是:
由於本程式只是單純的輸出一條語句,所以不需要變數的宣告declare部分可以省去
由於不會出現異常,所以exception部分必須省去,不然會報錯
注意end最後的那個分號,嚴格遵守語法規則。
可見輸入語句為dbms_output.put_line();相當於Java中的System.out.println();
理解就行


接下來將使用PL/SQL語言運算元據庫
這裡我使用時系統自帶的一個資料庫
EMP
含有如下幾個欄位
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
首先使用SQL查詢員工編號為7369的工資 語法如下
select SAL from EMP where EMPNO = 7369;
執行結果如下
 
      SAL
---------
   800.00


接下來使用PL/SQL語言查詢步驟如下:
輸入ed回車,開啟edit然後輸入如下程式碼:


declare
  v_sal varchar2(10);
begin
  select SAL into v_sal from EMP where EMPNO = 7369;
  dbms_output.put_line(v_sal);
end;


分析如下:
在declare部分宣告一個變數v_sal型別為varchar並使其長度為20
這裡值得說明的是PL/SQL中與SQL查詢語句中不同的是select語句
SQL語句中select語句為 select 列名 from表名 where 條件
PL/SQL語句中select語句為 select 列名 into 變數名 from 表名 where 條件
舉例說明:查詢員工編號為7369的工資 兩種語法如下
SQL: select SAL  from EMP where EMPNO = 7369;
PL/SQL: select SAL into v_sal from EMP where EMPNO = 7369;


執行結果一樣


需要說明的是declare部分中定義的變數大小必須比資料庫中資料型別的大小 大,不然定義的變數裝不下資料庫中資料,就會報錯。


還有一種簡單做法就是 :
v_sal EMP.SAL%type;
 即將資料型別動態的定義成與資料庫中的資料型別一致,這樣資料庫中資料變動也不會影響到程式中變數的修改
即 v_sal這個變數的資料型別與EMP表下的SAL欄位的資料型別一致。


若有多個變數需要操作:查詢員工編號為7369的ENAME JOB,SAL
程式碼如下:
declare
  v_ename EMP.ENAME%type;
  v_job EMP.JOB%type;
  v_sal EMP.SAL%type;
begin
  select ENAME,JOB,SAL into v_ename,v_job,v_sal from EMP where EMPNO = 7369;
  dbms_output.put_line(v_ename||','||v_job||','||v_Sal);
end;


執行便可查詢出所需資訊
由程式碼可見 輸出語句中輸出多個變數時 || 相當於Java中的 + 

轉載至:http://blog.csdn.net/chance2015/article/details/50409557

相關文章