【PLSQL系列】1.變數
1.標量變數
標量變數是指只能存放單個數值的變數。
定義標量變數:
identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr]
DEFAULT: 用於為變數和常量指定初始值。
Expr: 用於指定初始值的PLSQL表示式,可以是文字值、其他變數、函式等。
2.複合變數
複合變數是指用於存放多個值的變數。
a)PLSQL記錄
類似高階語言中的結構。
例子:
b)PLSQL表
類似高階語言中的陣列。但是PLSQL表的下標可以為負值;元素個數沒有限制。
例子:
c)巢狀表(Nested Table)
類似高階語言中的陣列。下標不能為負值;元素個數沒有限制。
巢狀表可以作為表列的資料型別。需要注意,當使用巢狀表型別作為表列時,必須要為其指定專門的儲存表。
例子:
d)VARRAY
類似於巢狀表,它可以作為表列和物件型別屬性的資料型別。VARRAY的元素個數是有限制的。
例子:
注意,巢狀表列資料需要儲存在專門的儲存表中,而VARRAY資料則與其他列資料一起存放在表段中。
3.參照變數
參照變數是指用於存放數值指標的變數。
a)REF CURSOR
靜態遊標:
需要在定義顯示遊標時指定相應的SELECT語句,這種顯示遊標稱為靜態遊標。
動態遊標:
在開啟遊標時指定SELECT語句,這種遊標稱為動態遊標。
例子:
b)REF obj_type
REF實際是指向物件例項的指標。
例子:
4.LOB變數
LOB變數是指用於儲存大批量資料的變數。
內部LOB:支援事物操作
CLOB/NCLOB用於儲存大批量字元資料。(需要大量文字說明的資料庫列定義為CLOB型別)
BLOB用於儲存大批量二進位制資料。(儲存照片等)
外部LOB:不支援事物操作。
BFILE:該型別的資料被儲存在OS檔案中。(OS電影檔案)