PL/SQL程序設計(二)—— PL/SQL塊結構和組成元素


(一)PL/SQL塊 

  PL/SQL程序由三個塊組成,即聲明部分、執行部分、異常處理部分,其中執行部分是必須的。

PL/SQL塊的結構如下:

PL/SQL塊可以分成三類:

1、無名快:動態構造,只能執行一次。

2、子程序:存儲在數據庫中的存儲過程、函數及包等。當在數據庫建立好后可以在其他程序中調用它們。

3、觸發器:當數據庫發生操作時,會觸發一些時間按,從而自動執行相應的程序。

(二)PL/SQL結構

  • PL/SQL塊中可以包含子塊

  • 子塊可以位於PL/SQL中的任何部分

  • 子塊也即PL/SQL中的一條命令

(三)標識符

PL/SQL程序設計中的標識符定義與SQL的標識符定義要求相同,要求和限制如下:

  • 標識符名不能超過30字符

  • 第一個字符必須為字母

  • 不分大小寫

  • 不能用‘-’(減號)

  • 不能是SQL保留字

提示:一般不要把變量名聲明與字段名完全一樣,如果這樣可能得到不正確的結果

 

變量命名在PL/SQL中有特別的講究,建議在系統的設計階段就要求所有編程人員共同遵守一定的要求,使得整個系統的文檔在規范上達到要求。下面是建議的命名方法:

(四)PL/SQL變量類型

1、變量類型

2、復合類型

ORACLE在PL/SQL中除了提供像前面介紹的各種類型外,還提供了一種成為復合類型 —— 記錄和表

(1)記錄類型

記錄類型是把邏輯相關的數據作為一個單元存儲起來,稱作PL/SQL RECORD的域,其作用是存放互不相同但邏輯相關的信息

語法:

DBMS_OUTPUT.PUT_LINE過程的功能類似與JAVA中的System.out.println();直接將結果輸出到標准輸出中

在使用上述過程之前必須將SQL*PLUS的環境參數SERVEROUTPUT設置為ON,否則將看不到輸出結果:set serveroutput on

(2)使用%TYPE

定義一個變量,其數據類型與意境定義的某個數據變量的數據類型相同,或者與數據庫表的某個列的數據類型相同,這是就可以使用%TYPE。

優點:

  • 所使用的數據庫列的數據類型可以不必知道

  • 所引用的數據庫列的數據類型可以實時改變

(3)使用%ROWTYPE

PL/SQL提供的%ROWTYPE操作符,返回一個記錄類型,其數據類型和數據庫表的數據結構相一致。

優點:

  • 所引用的數據庫中列的個數和數據類型可以不必知道

  • 所引用的數據庫中列的個數和數據類型可以實時改變

 

 

(4)PL/SQL表(嵌套表)

PL/SQL程序可使用嵌套表類型創建具有一個或多個列和無限行的變量,這很像數據庫中的表,聲明嵌套表類型的一般語法如下:

在使用嵌套表之前必須先使用該集合的構造器初始化它,PL/SQL自動提供一個帶有相同名字的構造器作為集合類型

嵌套表可以有任意數量的行,表的大小在必要時課動態地增加或減少:extend(x)方法添加x個空元素到集合末尾;trim(x)方法去掉集合末尾的x個元素

(五)運算符和表達式(數據定義)

1、關系運算符

2、一般運算符

 

 3、邏輯運算符

(六)變量賦值

在PL/SQL編程中,變量賦值只一個值得注意的地方,語法如下:

1、字符與數字運算特點

2、BOOLEAN復制

布爾值只有TURE,FALSE及NULL三個值

3、數據庫賦值

數據庫賦值是通過select語句來完成的,每次執行SELECT語句就賦值一次,一般要求被賦值的變量與SELECT找那個的列名要一一對應

4、可轉化的類型賦值

(七)變量作用范圍及可見性

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM