4-1 資料庫共通的語言-SQL

4-2 SQL 的歷史

4-3 SQL 的基本語言

4-4 SQL 物件(SQL Object)

4-5 資料型態

4-6 資料型態轉換

4-7 基本表格(BASED TABLE)

4-8 虛擬欄位和虛擬表格

4-9 資料型態轉換函數

4-10 SQL 中常用的函數

4-11 SELECT 指令小結

4-12 視觀表格(VIEW)

4-13 基本表格、視觀表格的拷貝

 

 

   

無論廠商所提供的 SQL 有何差異,一般的 SQL 語言都會提供以下三種基本語言:
 

資料定義語言(Data Definition Language,DDL)

資料操縱語言(Data Manipulation Language,DML)

資料控制語言(Data Control Language,DCL)


然而 ORACLE 除了以上三種 SQL 基本語言外,ORACLE 又把資料控制語言(Data Control Language) 更細分成:
 

異動交易處理指令(Transaction Control Command)

連線會談期間控制指令(Session Control Command)

系統控制指令(System Control Command)

 

除以上三種外,ORACLE 為了加強 SQL 的功能,而增加了內嵌式 SQL 指令(EMB,Embedded SQL)。由於 SQL 本身並非程序化語言,大多的指令都是獨立執行,因此 ORACLE 在 SQL 語言中導入程序化語言的結構,因而產生了所謂的 PL/SQL 語言,另一方面將 SQL 語言嵌入 C、COBOL 或 FORTRAN 等高階語言,如 Pro*c、Pro*COBOL 等,利用這些語言的程序化特性達成連續執行的目的。

 

資料定義語言(Data Definition Language,DDL) 的主要功用為:
 

新增、修改、刪除物件(Object)

給予(Grant)、撤回(Revoke)、刪除(Drop)、權限(Privilege) 與角色(Role)

建立系統稽核(Audit) 功能

在資料字典(Data Dictionary) 中加入註解


Oracle 在執行以下的資料定義語言(DDL) 指令之前、後,都會自動地對資料庫做委付確認(Commit),此種因執行某指令而系統自動地執行的委付確認,稱之為內隱式委付確認(Implicit Commit)。

 

用來處理與查詢綱要物件(Schema Object) 的資料。這些 DML 指令並不會自動地做內隱式委付確認(Implicitly Commit)。

 

異動交易處理指令(Transaction Control Command) 的主要功用為:
處理 DML 指令在異動交易過程(Transaction) 中所做的修改。這些指令並不會自動地做內隱式委付確認(Implicitly Commit)。

 

連線會談期間控制指令(Session Control Command) 的主要功用為:
它動態地控制使用者連線會談期間的特性。這些指令並不會自動地做內隱式委付確認(Implicitly Commit)。

 

系統控制指令(System Control Command) 的主要功用為:
它動態地管理 ORACLE 實例(ORACLE Instance) 的特性,這些指令不會自動地做內隱式委付確認(Implicitly Commit)。
註:Instance 字在 ORACLE 系統有著特殊的含義,與一般作業系統(OS) 中所謂的 Service (服務) 相似。
 

內嵌式 SQL 指令的主要功用為:
它可將資料定義語言(Data Definition Language,DDL)、資料操縱語言(Data Manipulation Language,DML)、異動交易處理指令(Transaction Control Command) 等指令放入程序化語言的程式中。